1 page.title= 2 page.metaDescription= Android 3 page.image=/distribute/images/tablet-guidelines-color.jpg 4 Xnonavpage=true 5 6 @jd:body 7 8 <div id="qv-wrapper"><div id="qv"> 9 <h2></h2> 10 <ol> 11 <li><a href="#core-app-quality">1.</a></li> 12 <li><a href="#optimize-layouts">2.</a></li> 13 <li><a href="#use-extra-space">3.</a></li> 14 <li><a href="#use-tablet-icons">4.</a></li> 15 <li><a href="#adjust-font-sizes">5.</a></li> 16 <li><a href="#adjust-widgets">6.</a></li> 17 <li><a href="#offer-full-feature-set">7.</a></li> 18 <li><a href="#android-versions">8. Android </a></li> 19 <li><a href="#hardware-requirements">9.</a></li> 20 <li><a href="#support-screens">10.</a></li> 21 <li><a href="#google-play">11. UI</a></li> 22 <li><a href="#google-play-best-practices">12. Google Play </a></li> 23 24 </ol> 25 <h2></h2> 26 <ol> 27 <li><a href="#test-environment"></a></li> 28 </ol> 29 </div></div> 30 31 <div class="todp-right-float" style="padding-right:0;margin-bottom:1em;"> 32 <img src="{@docRoot}distribute/images/tablet-guidelines-color.jpg" style="width:480px;"> 33 </div> 34 35 <p> 36 Android <a href="{@docRoot}distribute/stories/tablets.html"></a> UI 37 </p> 38 39 <p> 40 41 </p> 42 43 <p> 44 45 </p> 46 47 <div class="headerLine"><h2 id="core-app-quality">1.</h2></div> 48 49 <p><em></em><a href="{@docRoot}distribute/essentials/quality/core.html"></a> 50 </p> 51 52 <p> 53 54 </p> 55 56 <ul> 57 <li><a href="#android-versions"> Android </a></li> 58 <li><a href="#hardware-requirements"></a></li> 59 <li><a href="#support-screens"></a></li> 60 <li><a href="#use-extra-space"></a></li> 61 <li><a href="#google-play"> Google Play</a></li> 62 </ul> 63 64 <p> Google Play Developer Console<a href="#google-play-optimization-tips"></a></p> 65 66 67 <div class="headerLine"> 68 <h2 id="optimize-layouts">2.</h2></div> 69 70 <p> 71 Android () UI UI 72 </p> 73 74 <p> 75 ( 7 ) () UI UI UI 76 </p> 77 78 79 <div style="width:500px;margin:1.5em;margin-top:-16px;"> 80 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png" style="padding:4px;margin-bottom:0em;"> 81 <p class="img-caption"><span 82 style="font-weight:500;"> UI</span> UI </p> 83 </div> 84 85 <p></p> 86 87 88 <ul> 89 <li> <code>large</code> <code>xlarge</code> <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers"></a><a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers"></a> 90 </li> 91 92 <li> 93 </li> 94 95 <li> UI UI 96 </li> 97 98 <li> UI <a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm"> 48dp </a> ( 16dp ) 99 </li> 100 101 <li> <code>16dp</code> 102 </li> 103 </ul> 104 105 <p></p> 106 107 <ul> 108 <li> 100 50 75 </li> 109 <li>ListView </li> 110 <li> UI ()</li> 111 </ul> 112 113 <h3 class="rel-resources clearfloat"></h3> 114 115 <div class="resource-widget resource-flow-layout col-13" 116 data-query="collection:distribute/essentials/tabletguidelines/optimize" 117 data-sortOrder="-timestamp" 118 data-cardSizes="6x3" 119 data-maxResults="6"></div> 120 121 122 <div class="headerLine"><h2 id="use-extra-space">3.</h2></div> 123 124 <div style="width:340px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;"> 125 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png" style="padding:4px;margin-bottom:0em;"> 126 <p class="img-caption"><span 127 style="font-weight:500;"></span> </p> 128 </div> 129 130 <p> 10 7 </p> 131 132 <p> UI UI </p> 133 134 <ul> 135 <li></li> 136 <li><a href="{@docRoot}design/patterns/multi-pane-layouts.html"></a> </li> 137 <li></li> 138 139 <div style="width:490px;margin:1.5em auto 1.5em 0;"> 140 <div style=""> 141 <img src="{@docRoot}images/home/wear-wordmark.png"> <img src="{@docRoot}images/home/wear.png"> 142 <p class="image-caption" 143 style="padding:.5em"><span 144 style="font-weight:500;"></span> UI <em>()</em> UI <em>()</em> </p> 145 </div> 146 </div> 147 148 <li> {@link android.app.Activity} {@link android.app.Fragment}</li> 149 <li> UI ( <code>large</code>/<code>xlarge</code>) ( <code>sw600dp</code>/<code>sw720</code>)</li> 150 </ul> 151 152 <h3 class="rel-resources clearfloat"></h3> 153 154 <div class="resource-widget resource-flow-layout col-13" 155 data-query="collection:distribute/essentials/tabletguidelines/extrascreen" 156 data-sortOrder="-timestamp" 157 data-cardSizes="6x3,6x3,6x3" 158 data-maxResults="6"></div> 159 160 <div class="headerLine"><h2 id="use-tablet-icons">4.</h2></div> 161 162 <div><img src="{@docRoot}design/media/devices_displays_density@2x.png"></div> 163 164 <p><a href="{@docRoot}design/style/iconography.html"></a> ()</p> 165 166 <p class="table-caption"><strong> 1.</strong><table> 167 <tr> 168 <th></th> 169 <th></th> 170 <th></th> 171 <th>/</th> 172 <th></th> 173 </tr> 174 <tr> 175 <td><code>mdpi</code></td> 176 <td>48x48 px</td> 177 <td>32x32 px</td> 178 <td>16x16 px</td> 179 <td>24x24 px</td> 180 </tr> 181 <tr> 182 <td><code>hdpi</code></td> 183 <td>72x72 px</td> 184 <td>48x48 px</td> 185 <td>24x24 px</td> 186 <td>36x36 px</td> 187 </tr> 188 <tr> 189 <td><code>tvdpi</code></td> 190 <td><em>( hdpi)</em></td> 191 <td><em>( hdpi)</em></td> 192 <td><em>( hdpi)</em></td> 193 <td><em>( hdpi)</em></td> 194 </tr> 195 <tr> 196 <td><code>xhdpi</code></td> 197 <td>96x96 px</td> 198 <td>64x64 px</td> 199 <td>32x32 px</td> 200 <td>48x48 px</td> 201 </tr> 202 <tr> 203 <td><code>xxhdpi</code></td> 204 <td>144x144 px</td> 205 <td>96x96 px</td> 206 <td>48x48 px</td> 207 <td>72x72 px</td> 208 </tr> 209 210 </table> 211 212 <p> 213 (<strong></strong>) 214 </p> 215 <ul> 216 <li><code>hdpi</code></li> 217 <li><code>xhdpi</code></li> 218 <li><code>xxhdpi</code></li> 219 </ul> 220 221 <p></p> 222 223 <ul> 224 <li></li> 225 <li><a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources"></a></li> 226 <li> {@code xhdpi} {@code xxhdpi} </li> 227 </ul> 228 229 <h3 class="rel-resources clearfloat"></h3> 230 231 <div class="resource-widget resource-flow-layout col-13" 232 data-query="collection:distribute/essentials/tabletguidelines/assets" 233 data-sortOrder="-timestamp" 234 data-cardSizes="9x3" 235 data-maxResults="6"></div> 236 237 <div class="headerLine"><h2 id="adjust-font-sizes">5.</h2></div> 238 239 <p> UI <a href="{@docRoot}guide/topics/ui/themes.html"></a><a href="{@docRoot}guide/topics/resources/more-resources.html#Dimension"></a> </p> 240 241 <p></p> 242 <ul> 243 <li> UI </li> 244 <li> 48dp ( 32dp) UI <a href="{@docRoot}design/style/metrics-grids.html"></a> </li> 245 <li> {@link android.view.TouchDelegate} 48dp </li> 246 </ul> 247 248 <h3 class="rel-resources clearfloat"></h3> 249 250 <div class="resource-widget resource-flow-layout col-13" 251 data-query="collection:distribute/essentials/tabletguidelines/fonts" 252 data-sortOrder="-timestamp" 253 data-cardSizes="9x3,9x3,6x3,6x3,6x3" 254 data-maxResults="6"></div> 255 256 <div class="headerLine"><h2 id="adjust-widgets">6.</h2></div> 257 258 <p> </p> 259 260 <ul> 261 <li> 262 </li> 263 <li> 420dp 5 () () </li> 264 <li> 9 </li> 265 <li></li> 266 <li> <code>targetSdkVersion</code> 14</li> 267 </ul> 268 269 <h3 class="rel-resources clearfloat"></h3> 270 271 <div class="resource-widget resource-flow-layout col-13" 272 data-query="collection:distribute/essentials/tabletguidelines/widgets" 273 data-sortOrder="-timestamp" 274 data-cardSizes="6x3" 275 data-maxResults="6"></div> 276 277 278 <div class="headerLine"><h2 id="offer-full-feature-set">7.</h2></div> 279 280 <div class="centered-full-image" style="width:600px;margin:1.5em"><img src="{@docRoot}images/gp-tablets-full-feature-set.png" alt="Tablet feature sets"></div> 281 282 <p></p> 283 284 <ul> 285 <li> 286 </li> 287 288 <li> <ul> 289 <li> 290 </li> 291 292 <li> GPS GPS 293 </li> 294 </ul> 295 </li> 296 297 <li> UI () 298 </li> 299 </ul> 300 301 <div class="headerLine"><h2 id="android-versions">8. Android </h2></div> 302 303 <p> 304 Android <a href="{@docRoot}about/versions/android-3.0.html">Android 3.0</a> (API 11) <a href="{@docRoot}about/versions/android-4.0.html">Android 4.0</a> UI 305 </p> 306 307 <p> 308 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> Android <code>targetSdkVersion</code> API Android 309 </p> 310 311 <p style="margin-bottom:.5em;"> 312 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> 313 </p> 314 315 <ol style="list-style-type:lower-alpha;margin-top:0em;"> 316 <li> 317 <code>targetSdkVersion</code> 11 ( 14) 318 </li> 319 320 <li> 321 <code>minSdkVersion</code> 11 322 </li> 323 324 <li> <code>maxSdkVersion</code> 11<em></em> <code>maxSdkVersion</code> 325 </li> 326 </ol> 327 328 <h3 class="rel-resources clearfloat"></h3> 329 330 <div class="resource-widget resource-flow-layout col-13" 331 data-query="collection:distribute/essentials/tabletguidelines/versions" 332 data-sortOrder="-timestamp" 333 data-cardSizes="6x3" 334 data-maxResults="6"></div> 335 336 <div class="headerLine"><h2 id="hardware-requirements">9.</h2></div> 337 338 <p> 339 Wi-Fi 340 </p> 341 342 <p> 343 APK <em></em> 344 </p> 345 346 <ul> 347 <li> <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> <ul> 348 <li><code>android.hardware.telephony</code></li> 349 <li><code>android.hardware.camera</code> ()</li> 350 <li><code>android.hardware.camera.front</code></li> 351 </ul></li> 352 353 <li> <code>android:required=false</code> <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> <em></em> <p> 354 <code>android.hardware.telephony</code> 355 </p> 356 357 <pre><uses-feature android:name="android.hardware.telephony" android:required="false" /></pre></li> 358 359 <li> <a href="{@docRoot}guide/topics/manifest/permission-element.html"><a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions"><code><permission></code></a></a> <code><uses-feature></code> <code>android:required=false</code> </li> 360 </ul> 361 362 363 <p> 364 <em></em> 365 </p> 366 367 <p> 368 GPS GPS 369 </p> 370 371 <h3 class="rel-resources clearfloat"></h3> 372 373 <div class="resource-widget resource-flow-layout col-13" 374 data-query="collection:distribute/essentials/tabletguidelines/hardware" 375 data-sortOrder="-timestamp" 376 data-cardSizes="9x3" 377 data-maxResults="6"></div> 378 379 <div class="headerLine"><h2 id="support-screens">10.</h2></div> 380 381 <p></p> 382 383 <ul> 384 <li> <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> <code>android:largeScreens="false"</code> <code>android:xlargeScreens="false"</code></li> 385 <li> <code>minSdkVersion</code> 13 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> <code>android:largeScreens="true"</code> <code>android:xlargeScreens="true"</code></li> 386 </ul> 387 388 <p><a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a><em></em><a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a></p> 389 390 <h3 class="rel-resources clearfloat"></h3> 391 392 <div class="resource-widget resource-flow-layout col-13" 393 data-query="collection:distribute/essentials/tabletguidelines/tabletscreens" 394 data-sortOrder="-timestamp" 395 data-cardSizes="9x3,6x3,6x3" 396 data-maxResults="6"></div> 397 398 399 <div class="headerLine"><h2 id="google-play">11. Google Play UI</h2></div> 400 401 <p> 402 UI UI Google Play 403 </p> 404 405 <div><img class="border-img" src="{@docRoot}images/gp-tablet-quality-4.jpg"></div> 406 407 408 <h4> 409 UI 410 </h4> 411 412 <p> 413 () UI Google Play Developer Console 414 </p> 415 416 <ul style="margin-top:0;"> 417 <li> 418 </li> 419 420 <li> 7 10 421 </li> 422 423 <li> 424 </li> 425 426 <li> </li> 427 428 <li> <strong>1280 x 720</strong> 429 </li> 430 431 <li> 7 UI 8 10 8 432 </li> 433 </ul> 434 435 <h4> 436 437 </h4> 438 439 <ul> 440 <li> UI UI UI 441 </li> 442 443 <li> 444 </li> 445 </ul> 446 447 <h4> 448 449 </h4> 450 451 <p> 452 UI 453 </p> 454 455 <ul> 456 <li> UI UI 457 </li> 458 459 <li> UI UI 10 ( UI ) UI 460 </li> 461 462 <li> UI 463 </li> 464 465 <li> UI 466 </li> 467 </ul> 468 469 <h4> 470 UI 471 </h4> 472 473 <p> 474 UI 475 </p> 476 477 <ul> 478 <li></li> 479 480 <li> <a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art Generator</a> 7 10 481 </li> 482 483 <li> Google Play <a href="{@docRoot}distribute/tools/promote/badges.html">Badge Generator</a> 484 </li> 485 </ul> 486 487 <h3 class="rel-resources clearfloat"></h3> 488 489 <div class="resource-widget resource-flow-layout col-13" 490 data-query="collection:distribute/essentials/tabletguidelines/showcase" 491 data-sortOrder="-timestamp" 492 data-cardSizes="9x3,9x3,9x3,9x3" 493 data-maxResults="6"></div> 494 495 <div class="headerLine"> 496 <h2 id="google-play-best-practices"> 497 12. Google Play 498 </h2> 499 500 501 </div> 502 503 <p> 504 Google Play 505 </p> 506 507 <div> 508 <img class="border-img" src="{@docRoot}images/gp-tablet-quality-5.jpg" style="1px solid #ddd"> 509 </div> 510 511 <h4 id="google-play-optimization-tips"> 512 513 </h4> 514 515 <p>Google Play Developer Console [] Developer Console [] []</p> 516 517 <div class="sidebox-wrapper"> 518 <div class="sidebox"> 519 <h2></h2> 520 521 <p></p> 522 523 <p></p> 524 525 <p><strong><a href="https://support.google.com/googleplay/android-developer/contact/tabletq" target="_googleplay" style="white-space:nowrap">»</a></strong></p> 526 </div> 527 </div> 528 529 <p>Developer Console [] [] </p> 530 531 <p> [] () </p> 532 533 <p> [] <a href="https://support.google.com/googleplay/android-developer/contact/tabletq" target="_googleplay" style="white-space:nowrap">»</a> [] </p> 534 535 536 <h4></h4> 537 538 <p> 539 <a href="https://play.google.com/apps/publish/">Developer Console</a> APK 540 </p> 541 542 <h4> APK </h4> 543 544 <p> 545 () APK ( Google Play ) 546 </p> 547 548 <ul style="margin-top:.25em;"> 549 <li> 550 </li> 551 552 <li> 553 </li> 554 555 <li> 556 </li> 557 558 <li> 559 </li> 560 </ul> 561 562 <p> 563 APK <a href="{@docRoot}google/play/publishing/multiple-apks.html"> APK </a> 564 </p> 565 566 <h3 class="rel-resources clearfloat"></h3> 567 <div class="resource-widget resource-flow-layout col-13" 568 data-query="collection:distribute/essentials/tabletguidelines/googleplay" 569 data-sortOrder="-timestamp" 570 data-cardSizes="9x3" 571 data-maxResults="6"></div> 572 573 574 <div class="headerLine"> 575 <h2 id="test-environment"> 576 577 </h2> 578 579 580 </div> 581 582 <p> 583 () 584 </p> 585 586 <p> 587 <a href="{@docRoot}distribute/essentials/quality/core.html#test-environment"></a>/ 588 </p> 589 590 <p class="table-caption"><strong> 1.</strong></p> 591 592 <table> 593 <tr> 594 <th></th> 595 <th></th> 596 <th></th> 597 <th></th> 598 <th>AVD </th> 599 </tr> 600 601 <tr> 602 <td>7 </td> 603 <td><span style="white-space:nowrap"><code>large</code> </span><br /><code>-sw600</code></td> 604 <td><code>hdpi</code><br /><code>tvdpi</code></td> 605 <td>Android 4.0+ (API 14)</td> 606 <td>WXGA800-7in</td> 607 </tr> 608 <tr> 609 <td><span style="white-space:nowrap">10 </span> </td> 610 <td><span style="white-space:nowrap"><code>xlarge</code> </span><br /><code>-sw800</code></td> 611 <td><code>mdpi</code><br /><code>hdpi</code><br /><code>xhdpi</code></td> 612 <td>Android 3.2+ (API 13)</td> 613 <td>WXGA800</td> 614 </tr> 615 </table> 616 617 <div class="headerLine"><h2 id="related-resources"></h2></div> 618 619 <div class="resource-widget resource-flow-layout col-13" 620 data-query="collection:distribute/essentials/tabletguidelines" 621 data-sortOrder="-timestamp" 622 data-cardSizes="9x3" 623 data-maxResults="6"></div>