diff options
Diffstat (limited to 'docs/html/guide/topics')
45 files changed, 619 insertions, 749 deletions
diff --git a/docs/html/guide/topics/admin/device-admin.jd b/docs/html/guide/topics/admin/device-admin.jd index a474498..ee6b814 100644 --- a/docs/html/guide/topics/admin/device-admin.jd +++ b/docs/html/guide/topics/admin/device-admin.jd @@ -1,5 +1,5 @@ page.title=Device Administration -page.tags="devicepolicymanager","policy","security" +page.tags=devicepolicymanager,policy,security @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/appwidgets/host.jd b/docs/html/guide/topics/appwidgets/host.jd index da7408f..169e388 100644 --- a/docs/html/guide/topics/appwidgets/host.jd +++ b/docs/html/guide/topics/appwidgets/host.jd @@ -1,5 +1,5 @@ page.title=App Widget Host -page.tags="AppWidgetHost","home screen","launcher" +page.tags=AppWidgetHost,home screen,launcher @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/appwidgets/index.jd b/docs/html/guide/topics/appwidgets/index.jd index d8ad844..a783ad1 100644 --- a/docs/html/guide/topics/appwidgets/index.jd +++ b/docs/html/guide/topics/appwidgets/index.jd @@ -1,5 +1,5 @@ page.title=App Widgets -page.tags="home","AppWidgetProvider" +page.tags=home,AppWidgetProvider @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/connectivity/bluetooth-le.jd b/docs/html/guide/topics/connectivity/bluetooth-le.jd index 449c892..5c32e56 100644 --- a/docs/html/guide/topics/connectivity/bluetooth-le.jd +++ b/docs/html/guide/topics/connectivity/bluetooth-le.jd @@ -1,5 +1,5 @@ page.title=Bluetooth Low Energy -page.tags="wireless","bluetoothadapter","bluetoothdevice","BLE","BTLE" +page.tags=wireless,bluetoothadapter,bluetoothdevice,BLE,BTLE @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/connectivity/bluetooth.jd b/docs/html/guide/topics/connectivity/bluetooth.jd index b57f3e2..96008c5 100644 --- a/docs/html/guide/topics/connectivity/bluetooth.jd +++ b/docs/html/guide/topics/connectivity/bluetooth.jd @@ -1,5 +1,5 @@ page.title=Bluetooth -page.tags="wireless","bluetoothadapter","bluetoothdevice" +page.tags=wireless,bluetoothadapter,bluetoothdevice @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/connectivity/nfc/hce.jd b/docs/html/guide/topics/connectivity/nfc/hce.jd index d6efaa7..9ec1a8d 100644 --- a/docs/html/guide/topics/connectivity/nfc/hce.jd +++ b/docs/html/guide/topics/connectivity/nfc/hce.jd @@ -1,5 +1,5 @@ page.title=Host-based Card Emulation -page.tags="host card emulation", "hce","HostApduService","OffHostApduService","tap and pay" +page.tags=host card emulation,hce,HostApduService,OffHostApduService,tap and pay @jd:body diff --git a/docs/html/guide/topics/connectivity/sip.jd b/docs/html/guide/topics/connectivity/sip.jd index 526eb83..5154767 100644 --- a/docs/html/guide/topics/connectivity/sip.jd +++ b/docs/html/guide/topics/connectivity/sip.jd @@ -1,5 +1,5 @@ page.title=Session Initiation Protocol -page.tags="sipmanager","sipprofile","sipaudiocall","telephony" +page.tags=sipmanager,sipprofile,sipaudiocall,telephony @jd:body <div id="qv-wrapper"> <div id="qv"> diff --git a/docs/html/guide/topics/connectivity/wifip2p.jd b/docs/html/guide/topics/connectivity/wifip2p.jd index 7cadde1..d7e1269 100644 --- a/docs/html/guide/topics/connectivity/wifip2p.jd +++ b/docs/html/guide/topics/connectivity/wifip2p.jd @@ -1,5 +1,5 @@ page.title=Wi-Fi Peer-to-Peer -page.tags="wireless","WifiP2pManager","Wi-Fi Direct","WiFi Direct","P2P","Wi-Fi P2P","WiFi P2P" +page.tags=wireless,WifiP2pManager,Wi-Fi Direct,WiFi Direct,P2P,Wi-Fi P2P,WiFi P2P @jd:body diff --git a/docs/html/guide/topics/data/data-storage.jd b/docs/html/guide/topics/data/data-storage.jd index 4b8a647..24e7f54 100644 --- a/docs/html/guide/topics/data/data-storage.jd +++ b/docs/html/guide/topics/data/data-storage.jd @@ -1,5 +1,5 @@ page.title=Storage Options -page.tags="database","sharedpreferences","sdcard" +page.tags=database,sharedpreferences,sdcard @jd:body diff --git a/docs/html/guide/topics/data/install-location.jd b/docs/html/guide/topics/data/install-location.jd index 2ec0d5a..cc58b46 100644 --- a/docs/html/guide/topics/data/install-location.jd +++ b/docs/html/guide/topics/data/install-location.jd @@ -1,5 +1,5 @@ page.title=App Install Location -page.tags="sdcard","external" +page.tags=sdcard,external @jd:body diff --git a/docs/html/guide/topics/graphics/hardware-accel.jd b/docs/html/guide/topics/graphics/hardware-accel.jd index 54ef20c..7c957b8 100644 --- a/docs/html/guide/topics/graphics/hardware-accel.jd +++ b/docs/html/guide/topics/graphics/hardware-accel.jd @@ -263,256 +263,153 @@ changed.</li> <p>The following table describes the support level of various operations across API levels:</p> <style type="text/css"> - .tblGenFixed, .tblGeneric{font-size:15px}.tblGenFixed td {padding:0 3px;letter-spacing:0;word-spacing:0;background-color:#fff;z-index:1;border-top:0px none;border-left:0px none;border-bottom:1px solid #CCC;border-right:1px solid #CCC;} .dn {display:none} .tblGenFixed td.s0 {background-color:white;border-top:1px solid #CCC;border-left:1px solid #CCC;} .tblGenFixed td.s1 {background-color:#434343;color:#ffffff;text-align:center;border-top:1px solid #CCC;} .tblGenFixed td.s2 {background-color:#d9d9d9;color:#000000;text-align:center;} .tblGenFixed td.s3 {background-color:white;color:#000000;text-align:center;} .tblGenFixed td.s5 {background-color:#434343;color:#ffffff;text-align:left;border-left:1px solid #CCC;} .tblGenFixed td.s10 {background-color:white;font-family:courier new,monospace;color:#000000;text-align:right;border-left:1px solid #CCC;} .tblGenFixed td.g_pos {background-color:#d9d9d9;color:#6aa84f;text-align:center;} .tblGenFixed td.g_neg {background-color:#d9d9d9;color:#980000;text-align:center;} .tblGenFixed td.w_pos {background-color:white;color:#6aa84f;text-align:center;} .tblGenFixed td.w_neg {background-color:white;color:#980000;text-align:center;} + .tblGenFixed, .tblGeneric{font-size:15px}.tblGenFixed td {padding:0 3px;letter-spacing:0;word-spacing:0;background-color:#fff;z-index:1;border-top:0px none;border-left:0px none;border-bottom:1px solid #CCC;border-right:1px solid #CCC;} .dn {display:none} .tblGenFixed td.s0 {background-color:white;border-top:1px solid #CCC;border-left:1px solid #CCC;} .tblGenFixed td.s1 {background-color:#434343;color:#ffffff;text-align:center;border-top:1px solid #CCC;} .tblGenFixed td.s3 {background-color:white;color:#000000;text-align:center;} .tblGenFixed td.s5 {background-color:#434343;color:#ffffff;text-align:left;border-left:1px solid #CCC;} .tblGenFixed td.label_pos {background-color:white;font-family:courier new,monospace;color:#000000;text-align:right;border-left:1px solid #CCC;} .tblGenFixed td.label_neg {background-color:#ececec;font-family:courier new,monospace;color:#000000;text-align:right;border-left:1px solid #CCC;} .tblGenFixed td.value_pos {background-color:white;color:#000000;text-align:center;} .tblGenFixed td.value_neg {background-color:#ececec;color:#980000;text-align:center;} </style> <table border="0" cellpadding="0" cellspacing="0" class="tblGenFixed" id="tblMain"> <tbody> <tr class="rShim"> <td class="rShim" style="width:380px;"></td> - <td class="rShim" style="width:120px;"></td> - <td class="rShim" style="width:120px;"></td> - <td class="rShim" style="width:120px;"></td> - <td class="rShim" style="width:120px;"></td> + <td class="rShim" style="width:240px;"></td> </tr> <tr> - <td rowspan="2" class="s0"></td> - <td colspan="4" class="s1">API level</td> - </tr> - <tr> - <td style="display:none;"></td> - <td class="s2">< 16</td> - <td class="s3">16</td> - <td class="s2">17</td> - <td class="s3">18</td> + <td class="s0"></td> + <td class="s1">First supported API level</td> </tr> <tr> <td colspan="5" class="s5">Canvas</td> </tr> <tr> - <td class="s10">drawBitmapMesh() (colors array)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">drawBitmapMesh() (colors array)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">drawPicture()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">drawPicture()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">drawPosText()</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> - <td class="g_pos">✓</td> - <td class="w_pos">✓</td> + <td class="label_pos">drawPosText()</td> + <td class="value_pos">16</td> </tr> <tr> - <td class="s10">drawTextOnPath()</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> - <td class="g_pos">✓</td> - <td class="w_pos">✓</td> + <td class="label_pos">drawTextOnPath()</td> + <td class="value_pos">16</td> </tr> <tr> - <td class="s10">drawVertices()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">drawVertices()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setDrawFilter()</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> - <td class="g_pos">✓</td> - <td class="w_pos">✓</td> + <td class="label_pos">setDrawFilter()</td> + <td class="value_pos">16</td> </tr> <tr> - <td class="s10">clipPath()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipPath()</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">clipRegion()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipRegion()</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">clipRect(Region.Op.XOR)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipRect(Region.Op.XOR)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">clipRect(Region.Op.Difference)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipRect(Region.Op.Difference)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">clipRect(Region.Op.ReverseDifference)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipRect(Region.Op.ReverseDifference)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">clipRect() with rotation/perspective</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">clipRect() with rotation/perspective</td> + <td class="value_pos">18</td> </tr> <tr> <td colspan="5" class="s5">Paint</td> </tr> <tr> - <td class="s10">setAntiAlias() (for text)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">setAntiAlias() (for text)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">setAntiAlias() (for lines)</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> - <td class="g_pos">✓</td> - <td class="w_pos">✓</td> + <td class="label_pos">setAntiAlias() (for lines)</td> + <td class="value_pos">16</td> </tr> <tr> - <td class="s10">setFilterBitmap()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_pos">✓</td> - <td class="w_pos">✓</td> + <td class="label_pos">setFilterBitmap()</td> + <td class="value_pos">17</td> </tr> <tr> - <td class="s10">setLinearText()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setLinearText()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setMaskFilter()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setMaskFilter()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setPathEffect() (for lines)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setPathEffect() (for lines)</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setRasterizer()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setRasterizer()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setShadowLayer() (other than text)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setShadowLayer() (other than text)</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">setStrokeCap() (for lines)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">setStrokeCap() (for lines)</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">setStrokeCap() (for points)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_pos">setStrokeCap() (for points)</td> + <td class="value_pos">19</td> </tr> <tr> - <td class="s10">setSubpixelText()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">setSubpixelText()</td> + <td class="value_neg">✗</td> </tr> <tr> <td colspan="5" class="s5">Xfermode</td> </tr> <tr> - <td class="s10">AvoidXfermode</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">AvoidXfermode</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">PixelXorXfermode</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">PixelXorXfermode</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">PorterDuff.Mode.DARKEN (framebuffer)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">PorterDuff.Mode.DARKEN (framebuffer)</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">PorterDuff.Mode.LIGHTEN (framebuffer)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">PorterDuff.Mode.LIGHTEN (framebuffer)</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">PorterDuff.Mode.OVERLAY (framebuffer)</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">PorterDuff.Mode.OVERLAY (framebuffer)</td> + <td class="value_neg">✗</td> </tr> <tr> <td colspan="5" class="s5">Shader</td> </tr> <tr> - <td class="s10">ComposeShader inside ComposeShader</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">ComposeShader inside ComposeShader</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">Same type shaders inside ComposeShader</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> + <td class="label_neg">Same type shaders inside ComposeShader</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">Local matrix on ComposeShader</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> + <td class="label_pos">Local matrix on ComposeShader</td> + <td class="value_pos">18</td> </tr> </tbody> </table> @@ -530,64 +427,39 @@ changed.</li> <tbody> <tr class="rShim"> <td class="rShim" style="width:380px;"></td> - <td class="rShim" style="width:120px;"></td> - <td class="rShim" style="width:120px;"></td> - <td class="rShim" style="width:120px;"></td> - </tr> - <tr> - <td rowspan="2" class="s0"></td> - <td colspan="4" class="s1">API level</td> - </tr> - <tr> - <td style="display:none;"></td> - <td class="s2">< 17</td> - <td class="s3">17</td> - <td class="s2">18</td> + <td class="rShim" style="width:240px;"></td> </tr> <tr> - <td colspan="5" class="s5">Support for large scale factors</td> + <td class="s5">Drawing operation to be scaled</td> + <td class="s1">First supported API level</td> </tr> <tr> - <td class="s10">drawText()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_pos">✓</td> + <td class="label_pos">drawText()</td> + <td class="value_pos">18</td> </tr> <tr> - <td class="s10">drawPosText()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> + <td class="label_neg">drawPosText()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">drawTextOnPath()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> + <td class="label_neg">drawTextOnPath()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">Simple Shapes*</td> - <td class="g_neg">✗</td> - <td class="w_pos">✓</td> - <td class="g_pos">✓</td> + <td class="label_pos">Simple Shapes*</td> + <td class="value_pos">17</td> </tr> <tr> - <td class="s10">Complex Shapes*</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> + <td class="label_neg">Complex Shapes*</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">drawPath()</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> + <td class="label_neg">drawPath()</td> + <td class="value_neg">✗</td> </tr> <tr> - <td class="s10">Shadow layer</td> - <td class="g_neg">✗</td> - <td class="w_neg">✗</td> - <td class="g_neg">✗</td> + <td class="label_neg">Shadow layer</td> + <td class="value_neg">✗</td> </tr> </tbody> </table> diff --git a/docs/html/guide/topics/graphics/opengl.jd b/docs/html/guide/topics/graphics/opengl.jd index f46113d..d194082 100644 --- a/docs/html/guide/topics/graphics/opengl.jd +++ b/docs/html/guide/topics/graphics/opengl.jd @@ -1,5 +1,5 @@ page.title=OpenGL ES -page.tags="games" +page.tags=games @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/graphics/prop-animation.jd b/docs/html/guide/topics/graphics/prop-animation.jd index 22bf769..e455496 100644 --- a/docs/html/guide/topics/graphics/prop-animation.jd +++ b/docs/html/guide/topics/graphics/prop-animation.jd @@ -1,5 +1,5 @@ page.title=Property Animation -page.tags="valueanimator","objectanimator","layouttransition","ViewPropertyAnimator" +page.tags=valueanimator,objectanimator,layouttransition,ViewPropertyAnimator @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd index d421591..4057736 100644 --- a/docs/html/guide/topics/manifest/uses-feature-element.jd +++ b/docs/html/guide/topics/manifest/uses-feature-element.jd @@ -1,5 +1,5 @@ page.title=<uses-feature> -page.tags="filtering","features","google play filters","permissions" +page.tags=filtering,features,google play filters,permissions @jd:body <div id="qv-wrapper"> @@ -1099,4 +1099,4 @@ filtering based on the <code>CAMERA</code> permission, you would add this <td><code>android.hardware.wifi</code></td> <!-- <td></td> --> </tr> -</table>
\ No newline at end of file +</table> diff --git a/docs/html/guide/topics/manifest/uses-sdk-element.jd b/docs/html/guide/topics/manifest/uses-sdk-element.jd index b372592..79a37f0 100644 --- a/docs/html/guide/topics/manifest/uses-sdk-element.jd +++ b/docs/html/guide/topics/manifest/uses-sdk-element.jd @@ -1,5 +1,5 @@ page.title=<uses-sdk> -page.tags="api levels","sdk version","minsdkversion","targetsdkversion","maxsdkversion" +page.tags=api levels,sdk version,minsdkversion,targetsdkversion,maxsdkversion @jd:body diff --git a/docs/html/guide/topics/media/audio-capture.jd b/docs/html/guide/topics/media/audio-capture.jd index 44c618f..8e60c8f 100644 --- a/docs/html/guide/topics/media/audio-capture.jd +++ b/docs/html/guide/topics/media/audio-capture.jd @@ -1,5 +1,5 @@ page.title=Audio Capture -page.tags="mediarecorder" +page.tags=mediarecorder @jd:body <div id="qv-wrapper"> @@ -249,4 +249,4 @@ public class AudioRecordTest extends Activity } } } -</pre>
\ No newline at end of file +</pre> diff --git a/docs/html/guide/topics/media/camera.jd b/docs/html/guide/topics/media/camera.jd index e48109a..56ef624 100644 --- a/docs/html/guide/topics/media/camera.jd +++ b/docs/html/guide/topics/media/camera.jd @@ -1,5 +1,5 @@ page.title=Camera -page.tags="photo","video","picture","mediarecorder" +page.tags=photo,video,picture,mediarecorder @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/media/mediaplayer.jd b/docs/html/guide/topics/media/mediaplayer.jd index dc789d2..6d03af6 100644 --- a/docs/html/guide/topics/media/mediaplayer.jd +++ b/docs/html/guide/topics/media/mediaplayer.jd @@ -1,5 +1,5 @@ page.title=Media Playback -page.tags="mediaplayer","soundpool","audiomanager" +page.tags=mediaplayer,soundpool,audiomanager @jd:body <div id="qv-wrapper"> @@ -743,4 +743,4 @@ mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setDataSource(getApplicationContext(), contentUri); // ...prepare and start... -</pre>
\ No newline at end of file +</pre> diff --git a/docs/html/guide/topics/resources/localization.jd b/docs/html/guide/topics/resources/localization.jd index 7288aeb..3bb9ab5 100644 --- a/docs/html/guide/topics/resources/localization.jd +++ b/docs/html/guide/topics/resources/localization.jd @@ -1,487 +1,485 @@ -page.title=Localizing with Resources
-parent.title=Application Resources
-page.tags="localizing","localization","resources", "formats", "l10n"
-parent.link=index.html
-@jd:body
-
-<div id="qv-wrapper">
- <div id="qv">
-
-<h2>Quickview</h2>
-
-<ul>
- <li>Use resource sets to create a localized app.</li>
- <li>Android loads the correct resource set for the user's language and locale.</li>
- <li>If localized resources are not available, Android loads your default resources.</li>
-</ul>
-
-<h2>In this document</h2>
-<ol>
- <li><a href="#resource-switching">Overview: Resource-Switching in Android</a></li>
-<li><a href="#using-framework">Using Resources for Localization</a></li>
-<li><a href="#strategies">Localization Tips</a></li>
-<li><a href="#testing">Testing Localized Applications</a></li>
-</ol>
-
-<h2>See also</h2>
- <ol>
- <li><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></li>
- <li><a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a></li>
- <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Layouts</a></li>
- <li><a href="{@docRoot}reference/android/app/Activity.html#ActivityLifecycle">Activity Lifecycle</a></li>
-</ol>
-</div>
-</div>
-
-<p>Android will run on many devices in many regions. To reach the most users,
-your application should handle text, audio files, numbers, currency, and
-graphics in ways appropriate to the locales where your application will be used.
-</p>
-
-<p>This document describes best practices for localizing Android
-applications. The principles apply whether you are developing your application
-using ADT with Eclipse, Ant-based tools, or any other IDE. </p>
-
-<p>You should already have a working knowledge of Java and be familiar with
-Android resource loading, the declaration of user interface elements in XML,
-development considerations such as Activity lifecycle, and general principles of
-internationalization and localization. </p>
-
-<p>It is good practice to use the Android resource framework to separate the
-localized aspects of your application as much as possible from the core Java
-functionality:</p>
-
-<ul>
- <li>You can put most or all of the <em>contents</em> of your application's
-user interface into resource files, as described in this document and in <a
-href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a>.</li>
- <li>The <em>behavior</em> of the user interface, on the other hand, is driven
-by your Java code.
- For example, if users input data that needs to be formatted or sorted
-differently depending on locale, then you would use Java to handle the data
-programmatically. This document does not cover how to localize your Java code.
-</li>
-</ul>
-
-<p>For a short guide to localizing strings in your app, see the training lesson, <a
-href="{@docRoot}training/basics/supporting-devices/languages.html">Supporting Different Languages</a>. </p>
-
-
-<h2 id="resource-switching">Overview: Resource-Switching in Android</h2>
-
-<p>Resources are text strings, layouts, sounds, graphics, and any other static
-data that your Android application needs. An application can include multiple
-sets of resources, each customized for a different device configuration. When a
-user runs the application, Android automatically selects and loads the
-resources that best match the device.</p>
-
-<p>(This document focuses on localization and locale. For a complete description
-of resource-switching and all the types of configurations that you can
-specify — screen orientation, touchscreen type, and so on — see <a
-href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing
-Alternative Resources</a>.)</p>
-
-<table border="0" cellspacing="0" cellpadding="0">
- <tr border="0">
- <td width="180" style="border: 0pt none ;"><p class="special-note">
- <strong>When you write your application:</strong>
- <br><br>
- You create a set of default resources, plus alternatives to be used in
- different locales.</p></td>
- <td style="border: 0pt none; padding:0">
- <p style="border:0; padding:0"><img src="../../../images/resources/right-arrow.png" alt="right-arrow"
- width="51" height="17"></p></td>
- <td width="180" style="border: 0pt none ;"><p class="special-note">
- <strong>When a user runs your application:</strong>
- <br><br>The Android system selects which resources to load, based on the
- device's locale.</p></td>
- </tr>
-</table>
-
-<p>When you write your application, you create default and alternative resources
-for your application to use. To create resources, you place files within
-specially named subdirectories of the project's <code>res/</code> directory.
-</p>
-
-
-
-<h3 id="defaults-r-important">Why Default Resources Are Important</h3>
-
-<p>Whenever the application runs in a locale for which you have not provided
-locale-specific text, Android will load the default strings from
-<code>res/values/strings.xml</code>. If this default file is absent, or if it
-is missing a string that your application needs, then your application will not run
-and will show an error.
-The example below illustrates what can happen when the default text file is incomplete. </p>
-
-<p><em>Example:</em>
-<p>An application's Java code refers to just two strings, <code>text_a</code> and
- <code>text_b</code>. This application includes a localized resource file
- (<code>res/values-en/strings.xml</code>) that defines <code>text_a</code> and
- <code>text_b</code> in English. This application also includes a default
- resource file (<code>res/values/strings.xml</code>) that includes a
-definition for <code>text_a</code>, but not for <code>text_b</code>:
-<ul>
- <li>This application might compile without a problem. An IDE such as Eclipse
- will not highlight any errors if a resource is missing.</li>
- <li>When this application is launched on a device with locale set to English,
- the application might run without a problem, because
- <code>res/values-en/strings.xml</code> contains both of the needed text
- strings.</li>
- <li>However, <strong>the user will see an error message and a Force Close
- button</strong> when this application is launched on a device set to a
- language other than English. The application will not load.</li>
-</ul>
-
-
-<p>To prevent this situation, make sure that a <code>res/values/strings.xml</code>
- file exists and that it defines every needed string. The situation applies to
- all types of resources, not just strings: You
- need to create a set of default resource files containing all
- the resources that your application calls upon — layouts, drawables,
- animations, etc. For information about testing, see <a href="#test-for-default">
- Testing for Default Resources</a>.</p>
-
-<h2 id="using-framework">Using Resources for Localization</h2>
-
-<h3 id="creating-defaults">How to Create Default Resources</h3>
-
-<p>Put the application's default text in
-a file with the following location and name:</p>
-<p><code> res/values/strings.xml</code> (required directory)</p>
-
-<p>The text strings in <code>res/values/strings.xml</code> should use the
-default language, which is the language that you expect most of your application's users to
-speak. </p>
-
-<p>The default resource set must also include any default drawables and layouts,
- and can include other types of resources such as animations.
-<br>
- <code> res/drawable/</code>(required directory holding at least
- one graphic file, for the application's icon on Google Play)<br>
- <code> res/layout/</code> (required directory holding an XML
- file that defines the default layout)<br>
- <code> res/anim/</code> (required if you have any
- <code>res/anim-<em><qualifiers></em></code> folders)<br>
- <code> res/xml/</code> (required if you have any
- <code>res/xml-<em><qualifiers></em></code> folders)<br>
- <code> res/raw/</code> (required if you have any
- <code>res/raw-<em><qualifiers></em></code> folders)
-</p>
-
-<p class="note"><strong>Tip:</strong> In your code, examine each reference to
- an Android resource. Make sure that a default resource is defined for each
- one. Also make sure that the default string file is complete: A <em>
- localized</em> string file can contain a subset of the strings, but the
- <em>default</em> string file must contain them all.
-</p>
-
-<h3 id="creating-alternatives">How to Create Alternative Resources</h3>
-
-<p>A large part of localizing an application is providing alternative text for
-different languages. In some cases you will also provide alternative graphics,
-sounds, layouts, and other locale-specific resources. </p>
-
-<p>An application can specify many <code>res/<em><qualifiers></em>/</code>
-directories, each with different qualifiers. To create an alternative resource for
-a different locale, you use a qualifier that specifies a language or a
-language-region combination. (The name of a resource directory must conform
-to the naming scheme described in
-<a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing
-Alternative Resources</a>,
-or else it will not compile.)</p>
-
-<p><em>Example:</em></p>
-
-<p>Suppose that your application's default language is English. Suppose also
-that you want to localize all the text in your application to French, and most
-of the text in your application (everything except the application's title) to
-Japanese. In this case, you could create three alternative <code>strings.xml</code>
-files, each stored in a locale-specific resource directory:</p>
-
-<ol>
- <li><code>res/values/strings.xml</code><br>
- Contains English text for all the strings that the application uses,
-including text for a string named <code>title</code>.</li>
- <li><code>res/values-fr/strings.xml</code><br>
- Contain French text for all the strings, including <code>title</code>.</li>
- <li><code>res/values-ja/strings.xml</code><br>
- Contain Japanese text for all the strings <em>except</em>
-<code>title</code>.<br>
- <code></code></li>
-</ol>
-
-<p>If your Java code refers to <code>R.string.title</code>, here is what will
-happen at runtime:</p>
-
-<ul>
- <li>If the device is set to any language other than French, Android will load
-<code>title</code> from the <code>res/values/strings.xml</code> file.</li>
- <li>If the device is set to French, Android will load <code>title</code> from
-the <code>res/values-fr/strings.xml</code> file.</li>
-</ul>
-
-<p>Notice that if the device is set to Japanese, Android will look for
-<code>title</code> in the <code>res/values-ja/strings.xml</code> file. But
-because no such string is included in that file, Android will fall back to the
-default, and will load <code>title</code> in English from the
-<code>res/values/strings.xml</code> file. </p>
-
-<h3 id="resource-precedence">Which Resources Take Precedence?</h3>
-
-<p> If multiple resource files match a device's configuration, Android follows a
-set of rules in deciding which file to use. Among the qualifiers that can be
-specified in a resource directory name, <strong>locale almost always takes
-precedence</strong>. </p>
-<p><em>Example:</em></p>
-
-<p>Assume that an application includes a default set of graphics and two other
-sets of graphics, each optimized for a different device setup:</p>
-
-<ul>
- <li><code>res/drawable/</code><br>
- Contains
- default graphics.</li>
- <li><code>res/drawable-small-land-stylus/</code><br>
- Contains graphics optimized for use with a device that expects input from a
- stylus and has a QVGA low-density screen in landscape orientation.</li>
- <li><code>res/drawable-ja/</code> <br>
- Contains graphics optimized for use with Japanese.</li>
-</ul>
-
-<p>If the application runs on a device that is configured to use Japanese,
-Android will load graphics from <code>res/drawable-ja/</code>, even if the
-device happens to be one that expects input from a stylus and has a QVGA
-low-density screen in landscape orientation.</p>
-
-<p class="note"><strong>Exception:</strong> The only qualifiers that take
-precedence over locale in the selection process are MCC and MNC (mobile country
-code and mobile network code). </p>
-
-<p><em>Example:</em></p>
-
-<p>Assume that you have the following situation:</p>
-
-<ul>
- <li>The application code calls for <code>R.string.text_a</code></li>
- <li>Two relevant resource files are available:
- <ul>
- <li><code>res/values-mcc404/strings.xml</code>, which includes
-<code>text_a</code> in the application's default language, in this case
-English.</li>
- <li><code>res/values-hi/strings.xml</code>, which includes
-<code>text_a</code> in Hindi.</li>
- </ul>
- </li>
- <li>The application is running on a device that has the following
-configuration:
- <ul>
- <li>The SIM card is connected to a mobile network in India (MCC 404).</li>
- <li>The language is set to Hindi (<code>hi</code>).</li>
- </ul>
- </li>
-</ul>
-
-<p>Android will load <code>text_a</code> from
-<code>res/values-mcc404/strings.xml</code> (in English), even if the device is
-configured for Hindi. That is because in the resource-selection process, Android
-will prefer an MCC match over a language match. </p>
-
-<p>The selection process is not always as straightforward as these examples
-suggest. Please read <a
-href="{@docRoot}guide/topics/resources/providing-resources.html#BestMatch">How Android Finds
-the Best-matching Resource</a> for a more nuanced description of the
-process. All the qualifiers are described and listed in order of
-precedence in <a
-href="{@docRoot}guide/topics/resources/providing-resources.html#table2">Table 2 of Providing
-Alternative Resources</a>.</p>
-
-<h3 id="referring-to-resources">Referring to Resources in Java</h3>
-
-<p>In your application's Java code, you refer to resources using the syntax
-<code>R.<em>resource_type</em>.<em>resource_name</em></code> or
-<code>android.R.<em>resource_type</em>.<em>resource_name</em></code><em>.</em>
-For more about this, see <a
-href="{@docRoot}guide/topics/resources/accessing-resources.html">Accessing Resources</a>.</p>
-
-<h2 id="checklist">Localization Checklist</h2>
-
-<p>For a complete overview of the process of localizing and distributing an Android application,
-see the <a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization
-Checklist</a> document.</p>
-
-<h2 id="strategies">Localization Tips</h2>
-
-<h4 id="failing2">Design your application to work in any locale</h4>
-
-<p>You cannot assume anything about the device on which a user will
-run your application. The device might have hardware that you were not
-anticipating, or it might be set to a locale that you did not plan for or that
-you cannot test. Design your application so that it will function normally or fail gracefully no
-matter what device it runs on.</p>
-
-<p class="note"><strong>Important:</strong> Make sure that your application
-includes a full set of default resources.</p> <p>Make sure to include
-<code>res/drawable/</code> and a <code>res/values/</code> folders (without any
-additional modifiers in the folder names) that contain all the images and text
-that your application will need. </p>
-
-<p>If an application is missing even one default resource, it will not run on a
- device that is set to an unsupported locale. For example, the
- <code>res/values/strings.xml</code> default file might lack one string that
- the application needs: When the application runs in an unsupported locale and
- attempts to load <code>res/values/strings.xml</code>, the user will see an
- error message and a Force Close button. An IDE such as Eclipse will not
- highlight this kind of error, and you will not see the problem when you
- test the application on a device or emulator that is set to a supported locale.</p>
-
-<p>For more information, see <a href="#test-for-default">Testing for Default Resources</a>.</p>
-
-<h4>Design a flexible layout</h4>
-
-<p> If you need to rearrange your layout to fit a certain language (for example
-German with its long words), you can create an alternative layout for that
-language (for example <code>res/layout-de/main.xml</code>). However, doing this
-can make your application harder to maintain. It is better to create a single
-layout that is more flexible.</p>
-
-<p>Another typical situation is a language that requires something different in
-its layout. For example, you might have a contact form that should include two
-name fields when the application runs in Japanese, but three name fields when
-the application runs in some other language. You could handle this in either of
-two ways:</p>
-
-<ul>
- <li>Create one layout with a field that you can programmatically enable or
-disable, based on the language, or</li>
- <li>Have the main layout include another layout that includes the changeable
-field. The second layout can have different configurations for different
-languages.</li>
-</ul>
-
-<h4>Avoid creating more resource files and text strings than you need</h4>
-
-<p>You probably do not need to create a locale-specific
-alternative for every resource in your application. For example, the layout
-defined in the <code>res/layout/main.xml</code> file might work in any locale,
-in which case there would be no need to create any alternative layout files.
-</p>
-
-<p>Also, you might not need to create alternative text for every
-string. For example, assume the following:</p>
-
-<ul>
- <li>Your application's default language is American
-English. Every string that the application uses is defined, using American
-English spellings, in <code>res/values/strings.xml</code>. </li>
-
- <li>For a few important phrases, you want to provide
-British English spelling. You want these alternative strings to be used when your
-application runs on a device in the United Kingdom. </li>
-</ul>
-
-<p>To do this, you could create a small file called
-<code>res/values-en-rGB/strings.xml</code> that includes only the strings that
-should be different when the application runs in the U.K. For all the rest of
-the strings, the application will fall back to the defaults and use what is
-defined in <code>res/values/strings.xml</code>.</p>
-
-<h4>Use the Android Context object for manual locale lookup</h4>
-
-<p>You can look up the locale using the {@link android.content.Context} object
-that Android makes available:</p>
-
-<pre>String locale = context.getResources().getConfiguration().locale.getDisplayName();</pre>
-
-<h2 id="testing">Testing Localized Applications</h2>
-
-<h3 id="device">Testing on a Device</h3>
-<p>Keep in mind that the device you are testing may be significantly different from
- the devices available to consumers in other geographies. The locales available
- on your device may differ from those available on other devices. Also, the
- resolution and density of the device screen may differ, which could affect
- the display of strings and drawables in your UI.</p>
-
-<p>To change the locale on a device, use the Settings application (Home >
-Menu > Settings > Locale & text > Select locale). </p>
-
-<h3 id="emulator">Testing on an Emulator</h3>
-
-<p>For details about using the emulator, see See <a
-href="{@docRoot}tools/help/emulator.html">Android Emulator</a>.</p>
-<h4>Creating and using a custom locale</h4>
-
-<p>A "custom" locale is a language/region combination that the Android
-system image does not explicitly support. (For a list of supported locales in
-Android platforms see the Version Notes in the <a
-href="{@docRoot}sdk/index.html">SDK</a> tab). You can test
-how your application will run in a custom locale by creating a custom locale in
-the emulator. There are two ways to do this:</p>
-
-<ul>
- <li>Use the Custom Locale application, which is accessible from the
-Application tab. (After you create a custom locale, switch to it by
-pressing and holding the locale name.)</li>
- <li>Change to a custom locale from the adb shell, as described below.</li>
-</ul>
-
-<p>When you set the emulator to a locale that is not available in the Android
-system image, the system itself will display in its default language. Your
-application, however, should localize properly.</p>
-
-<h4>Changing the emulator locale from the adb shell</h4>
-
-<p>To change the locale in the emulator by using the adb shell. </p>
-
-<ol>
- <li>Pick the locale you want to test and determine its language and region codes, for
-example <code>fr</code> for French and <code>CA</code> for Canada.<br>
- </li>
- <li>Launch an emulator.</li>
- <li>From a command-line shell on the host computer, run the following
-command:<br>
- <code>adb shell</code><br>
- or if you have a device attached, specify that you want the emulator by adding
-the <code>-e</code> option:<br>
- <code>adb -e shell</code></li>
- <li>At the adb shell prompt (<code>#</code>), run this command: <br>
- <code>setprop persist.sys.language [<em>language code</em>];setprop
-persist.sys.country [<em>country code</em>];stop;sleep 5;start <br>
- </code>Replace bracketed sections with the appropriate codes from Step
-1.</li>
-</ol>
-
-<p>For instance, to test in Canadian French:</p>
-
-<p><code>setprop persist.sys.language fr;setprop persist.sys.country
-CA;stop;sleep 5;start </code></p>
-
-<p>This will cause the emulator to restart. (It will look like a full reboot,
-but it is not.) Once the Home screen appears again, re-launch your application (for
-example, click the Run icon in Eclipse), and the application will launch with
-the new locale. </p>
-
-<h3 id="test-for-default">Testing for Default Resources</h3>
-<p>Here's how to test whether an application includes every string resource that it needs: </p>
-<ol><li>Set the emulator or device to a language that your application does not
- support. For example, if the application has French strings in
- <code>res/values-fr/</code> but does not have any Spanish strings in
- <code>res/values-es/</code>, then set the emulator's locale to Spanish.
- (You can use the Custom Locale application to set the emulator to an
- unsupported locale.)</li>
- <li>Run the application.</li>
-<li>If the application shows an error message and a Force Close button, it might
- be looking for a string that is not available. Make sure that your
- <code>res/values/strings.xml</code> file includes a definition for
- every string that the application uses.</li>
-</ol>
-</p>
-
-<p>If the test is successful, repeat it for other types of
- configurations. For example, if the application has a layout file called
- <code>res/layout-land/main.xml</code> but does not contain a file called
- <code>res/layout-port/main.xml</code>, then set the emulator or device to
- portrait orientation and see if the application will run.
-
-
-
+page.title=Localizing with Resources +parent.title=Application Resources +page.tags=localizing,localization,resources,formats,l10n +parent.link=index.html +@jd:body + +<div id="qv-wrapper"> + <div id="qv"> + +<h2>Quickview</h2> + +<ul> + <li>Use resource sets to create a localized app.</li> + <li>Android loads the correct resource set for the user's language and locale.</li> + <li>If localized resources are not available, Android loads your default resources.</li> +</ul> + +<h2>In this document</h2> +<ol> + <li><a href="#resource-switching">Overview: Resource-Switching in Android</a></li> +<li><a href="#using-framework">Using Resources for Localization</a></li> +<li><a href="#strategies">Localization Tips</a></li> +<li><a href="#testing">Testing Localized Applications</a></li> +</ol> + +<h2>See also</h2> + <ol> + <li><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></li> + <li><a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a></li> + <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Layouts</a></li> + <li><a href="{@docRoot}reference/android/app/Activity.html#ActivityLifecycle">Activity Lifecycle</a></li> +</ol> +</div> +</div> + +<p>Android will run on many devices in many regions. To reach the most users, +your application should handle text, audio files, numbers, currency, and +graphics in ways appropriate to the locales where your application will be used. +</p> + +<p>This document describes best practices for localizing Android +applications. The principles apply whether you are developing your application +using ADT with Eclipse, Ant-based tools, or any other IDE. </p> + +<p>You should already have a working knowledge of Java and be familiar with +Android resource loading, the declaration of user interface elements in XML, +development considerations such as Activity lifecycle, and general principles of +internationalization and localization. </p> + +<p>It is good practice to use the Android resource framework to separate the +localized aspects of your application as much as possible from the core Java +functionality:</p> + +<ul> + <li>You can put most or all of the <em>contents</em> of your application's +user interface into resource files, as described in this document and in <a +href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a>.</li> + <li>The <em>behavior</em> of the user interface, on the other hand, is driven +by your Java code. + For example, if users input data that needs to be formatted or sorted +differently depending on locale, then you would use Java to handle the data +programmatically. This document does not cover how to localize your Java code. +</li> +</ul> + +<p>For a short guide to localizing strings in your app, see the training lesson, <a +href="{@docRoot}training/basics/supporting-devices/languages.html">Supporting Different Languages</a>. </p> + + +<h2 id="resource-switching">Overview: Resource-Switching in Android</h2> + +<p>Resources are text strings, layouts, sounds, graphics, and any other static +data that your Android application needs. An application can include multiple +sets of resources, each customized for a different device configuration. When a +user runs the application, Android automatically selects and loads the +resources that best match the device.</p> + +<p>(This document focuses on localization and locale. For a complete description +of resource-switching and all the types of configurations that you can +specify — screen orientation, touchscreen type, and so on — see <a +href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing +Alternative Resources</a>.)</p> + +<table border="0" cellspacing="0" cellpadding="0"> + <tr border="0"> + <td width="180" style="border: 0pt none ;"><p class="special-note"> + <strong>When you write your application:</strong> + <br><br> + You create a set of default resources, plus alternatives to be used in + different locales.</p></td> + <td style="border: 0pt none; padding:0"> + <p style="border:0; padding:0"><img src="../../../images/resources/right-arrow.png" alt="right-arrow" + width="51" height="17"></p></td> + <td width="180" style="border: 0pt none ;"><p class="special-note"> + <strong>When a user runs your application:</strong> + <br><br>The Android system selects which resources to load, based on the + device's locale.</p></td> + </tr> +</table> + +<p>When you write your application, you create default and alternative resources +for your application to use. To create resources, you place files within +specially named subdirectories of the project's <code>res/</code> directory. +</p> + + + +<h3 id="defaults-r-important">Why Default Resources Are Important</h3> + +<p>Whenever the application runs in a locale for which you have not provided +locale-specific text, Android will load the default strings from +<code>res/values/strings.xml</code>. If this default file is absent, or if it +is missing a string that your application needs, then your application will not run +and will show an error. +The example below illustrates what can happen when the default text file is incomplete. </p> + +<p><em>Example:</em> +<p>An application's Java code refers to just two strings, <code>text_a</code> and + <code>text_b</code>. This application includes a localized resource file + (<code>res/values-en/strings.xml</code>) that defines <code>text_a</code> and + <code>text_b</code> in English. This application also includes a default + resource file (<code>res/values/strings.xml</code>) that includes a +definition for <code>text_a</code>, but not for <code>text_b</code>: +<ul> + <li>This application might compile without a problem. An IDE such as Eclipse + will not highlight any errors if a resource is missing.</li> + <li>When this application is launched on a device with locale set to English, + the application might run without a problem, because + <code>res/values-en/strings.xml</code> contains both of the needed text + strings.</li> + <li>However, <strong>the user will see an error message and a Force Close + button</strong> when this application is launched on a device set to a + language other than English. The application will not load.</li> +</ul> + + +<p>To prevent this situation, make sure that a <code>res/values/strings.xml</code> + file exists and that it defines every needed string. The situation applies to + all types of resources, not just strings: You + need to create a set of default resource files containing all + the resources that your application calls upon — layouts, drawables, + animations, etc. For information about testing, see <a href="#test-for-default"> + Testing for Default Resources</a>.</p> + +<h2 id="using-framework">Using Resources for Localization</h2> + +<h3 id="creating-defaults">How to Create Default Resources</h3> + +<p>Put the application's default text in +a file with the following location and name:</p> +<p><code> res/values/strings.xml</code> (required directory)</p> + +<p>The text strings in <code>res/values/strings.xml</code> should use the +default language, which is the language that you expect most of your application's users to +speak. </p> + +<p>The default resource set must also include any default drawables and layouts, + and can include other types of resources such as animations. +<br> + <code> res/drawable/</code>(required directory holding at least + one graphic file, for the application's icon on Google Play)<br> + <code> res/layout/</code> (required directory holding an XML + file that defines the default layout)<br> + <code> res/anim/</code> (required if you have any + <code>res/anim-<em><qualifiers></em></code> folders)<br> + <code> res/xml/</code> (required if you have any + <code>res/xml-<em><qualifiers></em></code> folders)<br> + <code> res/raw/</code> (required if you have any + <code>res/raw-<em><qualifiers></em></code> folders) +</p> + +<p class="note"><strong>Tip:</strong> In your code, examine each reference to + an Android resource. Make sure that a default resource is defined for each + one. Also make sure that the default string file is complete: A <em> + localized</em> string file can contain a subset of the strings, but the + <em>default</em> string file must contain them all. +</p> + +<h3 id="creating-alternatives">How to Create Alternative Resources</h3> + +<p>A large part of localizing an application is providing alternative text for +different languages. In some cases you will also provide alternative graphics, +sounds, layouts, and other locale-specific resources. </p> + +<p>An application can specify many <code>res/<em><qualifiers></em>/</code> +directories, each with different qualifiers. To create an alternative resource for +a different locale, you use a qualifier that specifies a language or a +language-region combination. (The name of a resource directory must conform +to the naming scheme described in +<a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing +Alternative Resources</a>, +or else it will not compile.)</p> + +<p><em>Example:</em></p> + +<p>Suppose that your application's default language is English. Suppose also +that you want to localize all the text in your application to French, and most +of the text in your application (everything except the application's title) to +Japanese. In this case, you could create three alternative <code>strings.xml</code> +files, each stored in a locale-specific resource directory:</p> + +<ol> + <li><code>res/values/strings.xml</code><br> + Contains English text for all the strings that the application uses, +including text for a string named <code>title</code>.</li> + <li><code>res/values-fr/strings.xml</code><br> + Contain French text for all the strings, including <code>title</code>.</li> + <li><code>res/values-ja/strings.xml</code><br> + Contain Japanese text for all the strings <em>except</em> +<code>title</code>.<br> + <code></code></li> +</ol> + +<p>If your Java code refers to <code>R.string.title</code>, here is what will +happen at runtime:</p> + +<ul> + <li>If the device is set to any language other than French, Android will load +<code>title</code> from the <code>res/values/strings.xml</code> file.</li> + <li>If the device is set to French, Android will load <code>title</code> from +the <code>res/values-fr/strings.xml</code> file.</li> +</ul> + +<p>Notice that if the device is set to Japanese, Android will look for +<code>title</code> in the <code>res/values-ja/strings.xml</code> file. But +because no such string is included in that file, Android will fall back to the +default, and will load <code>title</code> in English from the +<code>res/values/strings.xml</code> file. </p> + +<h3 id="resource-precedence">Which Resources Take Precedence?</h3> + +<p> If multiple resource files match a device's configuration, Android follows a +set of rules in deciding which file to use. Among the qualifiers that can be +specified in a resource directory name, <strong>locale almost always takes +precedence</strong>. </p> +<p><em>Example:</em></p> + +<p>Assume that an application includes a default set of graphics and two other +sets of graphics, each optimized for a different device setup:</p> + +<ul> + <li><code>res/drawable/</code><br> + Contains + default graphics.</li> + <li><code>res/drawable-small-land-stylus/</code><br> + Contains graphics optimized for use with a device that expects input from a + stylus and has a QVGA low-density screen in landscape orientation.</li> + <li><code>res/drawable-ja/</code> <br> + Contains graphics optimized for use with Japanese.</li> +</ul> + +<p>If the application runs on a device that is configured to use Japanese, +Android will load graphics from <code>res/drawable-ja/</code>, even if the +device happens to be one that expects input from a stylus and has a QVGA +low-density screen in landscape orientation.</p> + +<p class="note"><strong>Exception:</strong> The only qualifiers that take +precedence over locale in the selection process are MCC and MNC (mobile country +code and mobile network code). </p> + +<p><em>Example:</em></p> + +<p>Assume that you have the following situation:</p> + +<ul> + <li>The application code calls for <code>R.string.text_a</code></li> + <li>Two relevant resource files are available: + <ul> + <li><code>res/values-mcc404/strings.xml</code>, which includes +<code>text_a</code> in the application's default language, in this case +English.</li> + <li><code>res/values-hi/strings.xml</code>, which includes +<code>text_a</code> in Hindi.</li> + </ul> + </li> + <li>The application is running on a device that has the following +configuration: + <ul> + <li>The SIM card is connected to a mobile network in India (MCC 404).</li> + <li>The language is set to Hindi (<code>hi</code>).</li> + </ul> + </li> +</ul> + +<p>Android will load <code>text_a</code> from +<code>res/values-mcc404/strings.xml</code> (in English), even if the device is +configured for Hindi. That is because in the resource-selection process, Android +will prefer an MCC match over a language match. </p> + +<p>The selection process is not always as straightforward as these examples +suggest. Please read <a +href="{@docRoot}guide/topics/resources/providing-resources.html#BestMatch">How Android Finds +the Best-matching Resource</a> for a more nuanced description of the +process. All the qualifiers are described and listed in order of +precedence in <a +href="{@docRoot}guide/topics/resources/providing-resources.html#table2">Table 2 of Providing +Alternative Resources</a>.</p> + +<h3 id="referring-to-resources">Referring to Resources in Java</h3> + +<p>In your application's Java code, you refer to resources using the syntax +<code>R.<em>resource_type</em>.<em>resource_name</em></code> or +<code>android.R.<em>resource_type</em>.<em>resource_name</em></code><em>.</em> +For more about this, see <a +href="{@docRoot}guide/topics/resources/accessing-resources.html">Accessing Resources</a>.</p> + +<h2 id="checklist">Localization Checklist</h2> + +<p>For a complete overview of the process of localizing and distributing an Android application, +see the <a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization +Checklist</a> document.</p> + +<h2 id="strategies">Localization Tips</h2> + +<h4 id="failing2">Design your application to work in any locale</h4> + +<p>You cannot assume anything about the device on which a user will +run your application. The device might have hardware that you were not +anticipating, or it might be set to a locale that you did not plan for or that +you cannot test. Design your application so that it will function normally or fail gracefully no +matter what device it runs on.</p> + +<p class="note"><strong>Important:</strong> Make sure that your application +includes a full set of default resources.</p> <p>Make sure to include +<code>res/drawable/</code> and a <code>res/values/</code> folders (without any +additional modifiers in the folder names) that contain all the images and text +that your application will need. </p> + +<p>If an application is missing even one default resource, it will not run on a + device that is set to an unsupported locale. For example, the + <code>res/values/strings.xml</code> default file might lack one string that + the application needs: When the application runs in an unsupported locale and + attempts to load <code>res/values/strings.xml</code>, the user will see an + error message and a Force Close button. An IDE such as Eclipse will not + highlight this kind of error, and you will not see the problem when you + test the application on a device or emulator that is set to a supported locale.</p> + +<p>For more information, see <a href="#test-for-default">Testing for Default Resources</a>.</p> + +<h4>Design a flexible layout</h4> + +<p> If you need to rearrange your layout to fit a certain language (for example +German with its long words), you can create an alternative layout for that +language (for example <code>res/layout-de/main.xml</code>). However, doing this +can make your application harder to maintain. It is better to create a single +layout that is more flexible.</p> + +<p>Another typical situation is a language that requires something different in +its layout. For example, you might have a contact form that should include two +name fields when the application runs in Japanese, but three name fields when +the application runs in some other language. You could handle this in either of +two ways:</p> + +<ul> + <li>Create one layout with a field that you can programmatically enable or +disable, based on the language, or</li> + <li>Have the main layout include another layout that includes the changeable +field. The second layout can have different configurations for different +languages.</li> +</ul> + +<h4>Avoid creating more resource files and text strings than you need</h4> + +<p>You probably do not need to create a locale-specific +alternative for every resource in your application. For example, the layout +defined in the <code>res/layout/main.xml</code> file might work in any locale, +in which case there would be no need to create any alternative layout files. +</p> + +<p>Also, you might not need to create alternative text for every +string. For example, assume the following:</p> + +<ul> + <li>Your application's default language is American +English. Every string that the application uses is defined, using American +English spellings, in <code>res/values/strings.xml</code>. </li> + + <li>For a few important phrases, you want to provide +British English spelling. You want these alternative strings to be used when your +application runs on a device in the United Kingdom. </li> +</ul> + +<p>To do this, you could create a small file called +<code>res/values-en-rGB/strings.xml</code> that includes only the strings that +should be different when the application runs in the U.K. For all the rest of +the strings, the application will fall back to the defaults and use what is +defined in <code>res/values/strings.xml</code>.</p> + +<h4>Use the Android Context object for manual locale lookup</h4> + +<p>You can look up the locale using the {@link android.content.Context} object +that Android makes available:</p> + +<pre>String locale = context.getResources().getConfiguration().locale.getDisplayName();</pre> + +<h2 id="testing">Testing Localized Applications</h2> + +<h3 id="device">Testing on a Device</h3> +<p>Keep in mind that the device you are testing may be significantly different from + the devices available to consumers in other geographies. The locales available + on your device may differ from those available on other devices. Also, the + resolution and density of the device screen may differ, which could affect + the display of strings and drawables in your UI.</p> + +<p>To change the locale on a device, use the Settings application (Home > +Menu > Settings > Locale & text > Select locale). </p> + +<h3 id="emulator">Testing on an Emulator</h3> + +<p>For details about using the emulator, see See <a +href="{@docRoot}tools/help/emulator.html">Android Emulator</a>.</p> +<h4>Creating and using a custom locale</h4> + +<p>A "custom" locale is a language/region combination that the Android +system image does not explicitly support. (For a list of supported locales in +Android platforms see the Version Notes in the <a +href="{@docRoot}sdk/index.html">SDK</a> tab). You can test +how your application will run in a custom locale by creating a custom locale in +the emulator. There are two ways to do this:</p> + +<ul> + <li>Use the Custom Locale application, which is accessible from the +Application tab. (After you create a custom locale, switch to it by +pressing and holding the locale name.)</li> + <li>Change to a custom locale from the adb shell, as described below.</li> +</ul> + +<p>When you set the emulator to a locale that is not available in the Android +system image, the system itself will display in its default language. Your +application, however, should localize properly.</p> + +<h4>Changing the emulator locale from the adb shell</h4> + +<p>To change the locale in the emulator by using the adb shell. </p> + +<ol> + <li>Pick the locale you want to test and determine its language and region codes, for +example <code>fr</code> for French and <code>CA</code> for Canada.<br> + </li> + <li>Launch an emulator.</li> + <li>From a command-line shell on the host computer, run the following +command:<br> + <code>adb shell</code><br> + or if you have a device attached, specify that you want the emulator by adding +the <code>-e</code> option:<br> + <code>adb -e shell</code></li> + <li>At the adb shell prompt (<code>#</code>), run this command: <br> + <code>setprop persist.sys.language [<em>language code</em>];setprop +persist.sys.country [<em>country code</em>];stop;sleep 5;start <br> + </code>Replace bracketed sections with the appropriate codes from Step +1.</li> +</ol> + +<p>For instance, to test in Canadian French:</p> + +<p><code>setprop persist.sys.language fr;setprop persist.sys.country +CA;stop;sleep 5;start </code></p> + +<p>This will cause the emulator to restart. (It will look like a full reboot, +but it is not.) Once the Home screen appears again, re-launch your application (for +example, click the Run icon in Eclipse), and the application will launch with +the new locale. </p> + +<h3 id="test-for-default">Testing for Default Resources</h3> +<p>Here's how to test whether an application includes every string resource that it needs: </p> +<ol><li>Set the emulator or device to a language that your application does not + support. For example, if the application has French strings in + <code>res/values-fr/</code> but does not have any Spanish strings in + <code>res/values-es/</code>, then set the emulator's locale to Spanish. + (You can use the Custom Locale application to set the emulator to an + unsupported locale.)</li> + <li>Run the application.</li> +<li>If the application shows an error message and a Force Close button, it might + be looking for a string that is not available. Make sure that your + <code>res/values/strings.xml</code> file includes a definition for + every string that the application uses.</li> +</ol> +</p> + +<p>If the test is successful, repeat it for other types of + configurations. For example, if the application has a layout file called + <code>res/layout-land/main.xml</code> but does not contain a file called + <code>res/layout-port/main.xml</code>, then set the emulator or device to + portrait orientation and see if the application will run. + diff --git a/docs/html/guide/topics/resources/runtime-changes.jd b/docs/html/guide/topics/resources/runtime-changes.jd index d074873..0e03fe0 100644 --- a/docs/html/guide/topics/resources/runtime-changes.jd +++ b/docs/html/guide/topics/resources/runtime-changes.jd @@ -1,5 +1,5 @@ page.title=Handling Runtime Changes -page.tags="activity","lifecycle" +page.tags=activity,lifecycle @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/search/adding-custom-suggestions.jd b/docs/html/guide/topics/search/adding-custom-suggestions.jd index 47ad2fe..6ebef08 100644 --- a/docs/html/guide/topics/search/adding-custom-suggestions.jd +++ b/docs/html/guide/topics/search/adding-custom-suggestions.jd @@ -1,5 +1,5 @@ page.title=Adding Custom Suggestions -page.tags="SearchRecentSuggestionsProvider", +page.tags=SearchRecentSuggestionsProvider, @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/search/adding-recent-query-suggestions.jd b/docs/html/guide/topics/search/adding-recent-query-suggestions.jd index c1d59d4..e1020dd 100644 --- a/docs/html/guide/topics/search/adding-recent-query-suggestions.jd +++ b/docs/html/guide/topics/search/adding-recent-query-suggestions.jd @@ -1,5 +1,5 @@ page.title=Adding Recent Query Suggestions -page.tags="SearchRecentSuggestions","SearchRecentSuggestionsProvider" +page.tags=SearchRecentSuggestions,SearchRecentSuggestionsProvider @jd:body diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd index fc722b2..fcaaed3 100644 --- a/docs/html/guide/topics/search/search-dialog.jd +++ b/docs/html/guide/topics/search/search-dialog.jd @@ -1,5 +1,5 @@ page.title=Creating a Search Interface -page.tags="searchview" +page.tags=searchview @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/sensors/index.jd b/docs/html/guide/topics/sensors/index.jd index 65560e6..09d27e7 100644 --- a/docs/html/guide/topics/sensors/index.jd +++ b/docs/html/guide/topics/sensors/index.jd @@ -1,6 +1,6 @@ page.title=Location and Sensors APIs page.landing=true -page.tags="location","sensors" +page.tags=location,sensors page.landing.intro=Use sensors on the device to add rich location and motion capabilities to your app, from GPS or network location to accelerometer, gyroscope, temperature, barometer, and more. page.landing.image= @@ -38,4 +38,4 @@ practices.</p> </a> </div> -</div>
\ No newline at end of file +</div> diff --git a/docs/html/guide/topics/sensors/sensors_motion.jd b/docs/html/guide/topics/sensors/sensors_motion.jd index 945f8a6..393c3c5 100644 --- a/docs/html/guide/topics/sensors/sensors_motion.jd +++ b/docs/html/guide/topics/sensors/sensors_motion.jd @@ -1,5 +1,6 @@ page.title=Motion Sensors -page.tags="sensorevent","accelerometer","gyroscope","gravity","rotation","stepcounter" +page.tags=sensorevent,accelerometer,gyroscope,gravity,rotation,stepcounter + @jd:body <div id="qv-wrapper"> @@ -530,7 +531,6 @@ The sample application is located in the API Demos code (<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html"> OS - RotationVectorDemo</a>).</p> - <h2 id="sensors-motion-significant">Using the Significant Motion Sensor</h2> <p>The significant motion sensor triggers an event each time significant motion is detected and diff --git a/docs/html/guide/topics/sensors/sensors_position.jd b/docs/html/guide/topics/sensors/sensors_position.jd index f021afe..d0ddead 100644 --- a/docs/html/guide/topics/sensors/sensors_position.jd +++ b/docs/html/guide/topics/sensors/sensors_position.jd @@ -1,5 +1,5 @@ page.title=Position Sensors -page.tags="sensorevent","orientation","proximity" +page.tags=sensorevent,orientation,proximity @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/text/copy-paste.jd b/docs/html/guide/topics/text/copy-paste.jd index b34f0fa..8f898e4 100644 --- a/docs/html/guide/topics/text/copy-paste.jd +++ b/docs/html/guide/topics/text/copy-paste.jd @@ -1,5 +1,5 @@ page.title=Copy and Paste -page.tags="clipboardmanager","clipdata","input" +page.tags=clipboardmanager,clipdata,input @jd:body <div id="qv-wrapper"> <div id="qv"> diff --git a/docs/html/guide/topics/text/creating-input-method.jd b/docs/html/guide/topics/text/creating-input-method.jd index 7254594..205fd96 100644 --- a/docs/html/guide/topics/text/creating-input-method.jd +++ b/docs/html/guide/topics/text/creating-input-method.jd @@ -1,5 +1,5 @@ page.title=Creating an Input Method -page.tags="ime","keyboard","inputmethodservice" +page.tags=ime,keyboard,inputmethodservice @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/text/spell-checker-framework.jd b/docs/html/guide/topics/text/spell-checker-framework.jd index 366f9cc..a5d9932 100644 --- a/docs/html/guide/topics/text/spell-checker-framework.jd +++ b/docs/html/guide/topics/text/spell-checker-framework.jd @@ -1,5 +1,5 @@ page.title=Spelling Checker Framework -page.tags="input","spellcheckerservice" +page.tags=input,spellcheckerservice @jd:body <div id="qv-wrapper"> <div id="qv"> diff --git a/docs/html/guide/topics/ui/actionbar.jd b/docs/html/guide/topics/ui/actionbar.jd index 3173ff1..a122443 100644 --- a/docs/html/guide/topics/ui/actionbar.jd +++ b/docs/html/guide/topics/ui/actionbar.jd @@ -1,5 +1,5 @@ page.title=Action Bar -page.tags="actionbar","menu","tabs" +page.tags=actionbar,menu,tabs @jd:body diff --git a/docs/html/guide/topics/ui/controls/button.jd b/docs/html/guide/topics/ui/controls/button.jd index cb274ae..b52c3e9 100644 --- a/docs/html/guide/topics/ui/controls/button.jd +++ b/docs/html/guide/topics/ui/controls/button.jd @@ -1,5 +1,5 @@ page.title=Buttons -page.tags="button","imagebutton" +page.tags=button,imagebutton @jd:body <div id="qv-wrapper"> @@ -241,4 +241,4 @@ the image displayed will change based on these three states.</p> <p>For more information about this XML syntax, including how to define a disabled, hovered, or other button states, read about <a href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">State List -Drawable</a>.</p>
\ No newline at end of file +Drawable</a>.</p> diff --git a/docs/html/guide/topics/ui/controls/pickers.jd b/docs/html/guide/topics/ui/controls/pickers.jd index 4c55840..31e4d3f 100644 --- a/docs/html/guide/topics/ui/controls/pickers.jd +++ b/docs/html/guide/topics/ui/controls/pickers.jd @@ -1,5 +1,5 @@ page.title=Pickers -page.tags="datepicker","timepicker" +page.tags=datepicker,timepicker @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/controls/radiobutton.jd b/docs/html/guide/topics/ui/controls/radiobutton.jd index d0c48ed..b2556e1 100644 --- a/docs/html/guide/topics/ui/controls/radiobutton.jd +++ b/docs/html/guide/topics/ui/controls/radiobutton.jd @@ -1,5 +1,5 @@ page.title=Radio Buttons -page.tags="radiobutton","radiogroup" +page.tags=radiobutton,radiogroup @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/controls/spinner.jd b/docs/html/guide/topics/ui/controls/spinner.jd index 85714b6..d2db7a4 100644 --- a/docs/html/guide/topics/ui/controls/spinner.jd +++ b/docs/html/guide/topics/ui/controls/spinner.jd @@ -1,5 +1,5 @@ page.title=Spinners -page.tags="adapterview","spinneradapter" +page.tags=adapterview,spinneradapter @jd:body <div id="qv-wrapper"> @@ -143,4 +143,4 @@ spinner.setOnItemSelectedListener(this); <p>If you implement the {@link android.widget.AdapterView.OnItemSelectedListener} interface with your {@link android.app.Activity} or {@link android.app.Fragment} (such as in the example above), you can pass -<code>this</code> as the interface instance.</p>
\ No newline at end of file +<code>this</code> as the interface instance.</p> diff --git a/docs/html/guide/topics/ui/controls/text.jd b/docs/html/guide/topics/ui/controls/text.jd index c0b9873..9474dee 100644 --- a/docs/html/guide/topics/ui/controls/text.jd +++ b/docs/html/guide/topics/ui/controls/text.jd @@ -1,5 +1,5 @@ page.title=Text Fields -page.tags="edittext","autocompletetextview" +page.tags=edittext,autocompletetextview @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/controls/togglebutton.jd b/docs/html/guide/topics/ui/controls/togglebutton.jd index 5e2a551..09af516 100644 --- a/docs/html/guide/topics/ui/controls/togglebutton.jd +++ b/docs/html/guide/topics/ui/controls/togglebutton.jd @@ -1,5 +1,5 @@ page.title=Toggle Buttons -page.tags="switch","togglebutton" +page.tags=switch,togglebutton @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/custom-components.jd b/docs/html/guide/topics/ui/custom-components.jd index 703a5ce..b146098 100644 --- a/docs/html/guide/topics/ui/custom-components.jd +++ b/docs/html/guide/topics/ui/custom-components.jd @@ -1,5 +1,5 @@ page.title=Custom Components -page.tags="view","widget" +page.tags=view,widget @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd index 6586c2f..616949b 100644 --- a/docs/html/guide/topics/ui/declaring-layout.jd +++ b/docs/html/guide/topics/ui/declaring-layout.jd @@ -1,5 +1,5 @@ page.title=Layouts -page.tags="view","viewgroup" +page.tags=view,viewgroup @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd index 043879c..0c6ec84 100644 --- a/docs/html/guide/topics/ui/dialogs.jd +++ b/docs/html/guide/topics/ui/dialogs.jd @@ -1,5 +1,5 @@ page.title=Dialogs -page.tags="alertdialog","dialogfragment" +page.tags=alertdialog,dialogfragment @jd:body diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd index 9a6b0e9..9d8aa9b 100644 --- a/docs/html/guide/topics/ui/drag-drop.jd +++ b/docs/html/guide/topics/ui/drag-drop.jd @@ -1,5 +1,5 @@ page.title=Drag and Drop -page.tags="clipdata","dragevent","onlongclicklistener" +page.tags=clipdata,dragevent,onlongclicklistener @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/layout/gridview.jd b/docs/html/guide/topics/ui/layout/gridview.jd index bc189c4..b8d24b6 100644 --- a/docs/html/guide/topics/ui/layout/gridview.jd +++ b/docs/html/guide/topics/ui/layout/gridview.jd @@ -1,5 +1,5 @@ page.title=Grid View -page.tags="gridview" +page.tags=gridview @jd:body <div id="qv-wrapper"> <div id="qv"> diff --git a/docs/html/guide/topics/ui/layout/linear.jd b/docs/html/guide/topics/ui/layout/linear.jd index 444dc71..902f22f 100644 --- a/docs/html/guide/topics/ui/layout/linear.jd +++ b/docs/html/guide/topics/ui/layout/linear.jd @@ -1,5 +1,5 @@ page.title=Linear Layout -page.tags="linearlayout" +page.tags=linearlayout @jd:body <div id="qv-wrapper"> diff --git a/docs/html/guide/topics/ui/layout/listview.jd b/docs/html/guide/topics/ui/layout/listview.jd index f8315c5..3c6e32c 100644 --- a/docs/html/guide/topics/ui/layout/listview.jd +++ b/docs/html/guide/topics/ui/layout/listview.jd @@ -1,5 +1,5 @@ page.title=List View -page.tags="listview" +page.tags=listview @jd:body <div id="qv-wrapper"> <div id="qv"> diff --git a/docs/html/guide/topics/ui/layout/relative.jd b/docs/html/guide/topics/ui/layout/relative.jd index 65c5617..69f5c0a 100644 --- a/docs/html/guide/topics/ui/layout/relative.jd +++ b/docs/html/guide/topics/ui/layout/relative.jd @@ -1,5 +1,5 @@ page.title=Relative Layout -page.tags="relativelayout" +page.tags=relativelayout @jd:body <div id="qv-wrapper"> @@ -114,4 +114,4 @@ view declared in the hierarchy. The example below demonstrates such a scenario.< </pre> <p>For details about all the layout attributes available to each child view of a {@link -android.widget.RelativeLayout}, see {@link android.widget.RelativeLayout.LayoutParams}.</p>
\ No newline at end of file +android.widget.RelativeLayout}, see {@link android.widget.RelativeLayout.LayoutParams}.</p> diff --git a/docs/html/guide/topics/ui/settings.jd b/docs/html/guide/topics/ui/settings.jd index d96447d..1d36430 100644 --- a/docs/html/guide/topics/ui/settings.jd +++ b/docs/html/guide/topics/ui/settings.jd @@ -1,5 +1,5 @@ page.title=Settings -page.tags="preference","preferenceactivity","preferencefragment" +page.tags=preference,preferenceactivity,preferencefragment @jd:body |