1 page.title= 2 page.metaDescription= Android 3 page.image=/distribute/images/tablet-guidelines-color.jpg 4 Xnonavpage=true 5 6 @jd:body 7 <div id="qv-wrapper"><div id="qv"> 8 <h2></h2> 9 <ol> 10 <li><a href="#core-app-quality">1. </a></li> 11 <li><a href="#optimize-layouts">2. </a></li> 12 <li><a href="#use-extra-space">3. </a></li> 13 <li><a href="#use-tablet-icons">4. </a></li> 14 <li><a href="#adjust-font-sizes">5. </a></li> 15 <li><a href="#adjust-widgets">6. </a></li> 16 <li><a href="#offer-full-feature-set">7. </a></li> 17 <li><a href="#android-versions">8. Android </a></li> 18 <li><a href="#hardware-requirements">9. </a></li> 19 <li><a href="#support-screens">10. </a></li> 20 <li><a href="#google-play">11. </a></li> 21 <li><a href="#google-play-best-practices">12. Google Play </a></li> 22 23 </ol> 24 <h2></h2> 25 <ol> 26 <li><a href="#test-environment"></a></li> 27 </ol> 28 </div></div> 29 30 <div class="todp-right-float" style="padding-right:0;margin-bottom:1em;"> 31 <img src="{@docRoot}distribute/images/tablet-guidelines-color.jpg" style="width:480px;"> 32 </div> 33 34 <p> 35 Android <a href="{@docRoot}distribute/stories/tablets.html"></a> 36 37 38 39 40 </p> 41 42 <p> 43 44 45 46 47 48 </p> 49 50 <p> 51 52 53 </p> 54 55 <div class="headerLine"><h2 id="core-app-quality">1. </h2></div> 56 57 <p><em></em> 58 59 <a href="{@docRoot}distribute/essentials/quality/core.html"></a> 60 </p> 61 62 <p> 63 64 </p> 65 66 <ul> 67 <li><a href="#android-versions"> Android </a></li> 68 <li><a href="#hardware-requirements"></a></li> 69 <li><a href="#support-screens"></a></li> 70 <li><a href="#use-extra-space"></a></li> 71 <li><a href="#google-play"> Google Play</a></li> 72 </ul> 73 74 <p> Google Play <a href="#google-play-optimization-tips"></a> 75 76 77 </p> 78 79 80 <div class="headerLine"> 81 <h2 id="optimize-layouts">2. </h2></div> 82 83 <p> 84 Android 85 86 87 — — 88 89 90 91 92 93 94 </p> 95 96 <p> 97 98 99 7 100 101 102 103 104 </p> 105 106 107 <div style="width:500px;margin:1.5em;margin-top:-16px;"> 108 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png" style="padding:4px;margin-bottom:0em;"> 109 <p class="img-caption"><span 110 style="font-weight:500;"></span> 111 112 </p> 113 </div> 114 115 <p></p> 116 117 118 <ul> 119 <li> <code>large</code> 120 <code>xlarge</code> <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers"></a><a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers"></a> 121 122 123 124 </li> 125 126 <li> 127 128 </li> 129 130 <li> 131 132 133 </li> 134 135 <li> 136 <a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm"> 137 48dp </a> 16dp 138 </li> 139 140 <li> 141 <code>16dp</code> 142 143 </li> 144 </ul> 145 146 <p> 147 </p> 148 149 <ul> 150 <li> — 100 50 75 151 </li> 152 <li></li> 153 <li> 154 </li> 155 </ul> 156 157 <h3 class="rel-resources clearfloat"></h3> 158 159 <div class="resource-widget resource-flow-layout col-13" 160 data-query="collection:distribute/essentials/tabletguidelines/optimize" 161 data-sortOrder="-timestamp" 162 data-cardSizes="6x3" 163 data-maxResults="6"></div> 164 165 166 <div class="headerLine"><h2 id="use-extra-space">3. </h2></div> 167 168 <div style="width:340px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;"> 169 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png" style="padding:4px;margin-bottom:0em;"> 170 <p class="img-caption"><span 171 style="font-weight:500;"></span> 172 </p> 173 </div> 174 175 <p> 176 10 7 177 178 </p> 179 180 <p> 181 182 </p> 183 184 <ul> 185 <li> 186 </li> 187 <li><a href="{@docRoot}design/patterns/multi-pane-layouts.html"></a> 188 189 190 </li> 191 <li> 192 </li> 193 194 <div style="width:490px;margin:1.5em auto 1.5em 0;"> 195 <div style=""> 196 <img src="{@docRoot}images/ui-ex-single-panes.png" style="width:490px;padding:4px;margin-bottom:0em;" align="middle"> 197 <img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;"> 198 <p class="image-caption" style="padding:.5em"><span 199 style="font-weight:500;"><em></em></span><em></em> 200 201 </p> 202 </div> 203 </div> 204 205 <li> {@link android.app.Activity} 206 {@link 207 android.app.Fragment} 208 209 </li> 210 <li> 211 <code>large</code>/<code>xlarge</code> 212 <code>sw600dp</code>/<code>sw720</code> 213 </li> 214 </ul> 215 216 <h3 class="rel-resources clearfloat"></h3> 217 218 <div class="resource-widget resource-flow-layout col-13" 219 data-query="collection:distribute/essentials/tabletguidelines/extrascreen" 220 data-sortOrder="-timestamp" 221 data-cardSizes="6x3,6x3,6x3" 222 data-maxResults="6"></div> 223 224 <div class="headerLine"><h2 id="use-tablet-icons">4. </h2></div> 225 226 <div><img src="{@docRoot}design/media/devices_displays_density@2x.png"></div> 227 228 <p> 229 <a href="{@docRoot}design/style/iconography.html"></a> 230 231 232 233 </p> 234 235 <p class="table-caption"><strong> 1</strong>. <table> 236 <tr> 237 <th></th> 238 <th></th> 239 <th></th> 240 <th>/</th> 241 <th></th> 242 </tr> 243 <tr> 244 <td><code>mdpi</code></td> 245 <td>48x48 </td> 246 <td>32x32 </td> 247 <td>16x16 </td> 248 <td>24x24 </td> 249 </tr> 250 <tr> 251 <td><code>hdpi</code></td> 252 <td>72x72 </td> 253 <td>48x48 </td> 254 <td>24x24 </td> 255 <td>36x36 </td> 256 </tr> 257 <tr> 258 <td><code>tvdpi</code></td> 259 <td><em> hdpi</em></td> 260 <td><em> hdpi</em></td> 261 <td><em> hdpi</em></td> 262 <td><em> hdpi</em></td> 263 </tr> 264 <tr> 265 <td><code>xhdpi</code></td> 266 <td>96x96 </td> 267 <td>64x64 </td> 268 <td>32x32 </td> 269 <td>48x48 </td> 270 </tr> 271 <tr> 272 <td><code>xxhdpi</code></td> 273 <td>144x144 </td> 274 <td>96x96 </td> 275 <td>48x48 </td> 276 <td>72x72 </td> 277 </tr> 278 279 </table> 280 281 <p> 282 <strong></strong> 283 284 285 </p> 286 <ul> 287 <li><code>hdpi</code></li> 288 <li><code>xhdpi</code></li> 289 <li><code>xxhdpi</code></li> 290 </ul> 291 292 <p></p> 293 294 <ul> 295 <li></li> 296 <li><a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources"> 297 </a></li> 298 <li> 299 300 {@code xhdpi} 301 {@code xxhdpi} </li> 302 </ul> 303 304 <h3 class="rel-resources clearfloat"></h3> 305 306 <div class="resource-widget resource-flow-layout col-13" 307 data-query="collection:distribute/essentials/tabletguidelines/assets" 308 data-sortOrder="-timestamp" 309 data-cardSizes="9x3" 310 data-maxResults="6"></div> 311 312 <div class="headerLine"><h2 id="adjust-font-sizes">5. 313 </h2></div> 314 315 <p> 316 317 <a href="{@docRoot}guide/topics/ui/themes.html"></a><a href="{@docRoot}guide/topics/resources/more-resources.html#Dimension"></a> 318 319 </p> 320 321 <p></p> 322 <ul> 323 <li> 324 325 326 </li> 327 <li> 48dp 32dp— 328 <a href="{@docRoot}design/style/metrics-grids.html"> 329 </a> 330 331 332 </li> 333 <li> {@link android.view.TouchDelegate} 334 48dp 335 </li> 336 </ul> 337 338 <h3 class="rel-resources clearfloat"></h3> 339 340 <div class="resource-widget resource-flow-layout col-13" 341 data-query="collection:distribute/essentials/tabletguidelines/fonts" 342 data-sortOrder="-timestamp" 343 data-cardSizes="9x3,9x3,6x3,6x3,6x3" 344 data-maxResults="6"></div> 345 346 <div class="headerLine"><h2 id="adjust-widgets">6. </h2></div> 347 348 <p> 349 </p> 350 351 <ul> 352 <li> 353 354 </li> 355 <li> 420dp 5 5 356 357 </li> 358 <li> 9-patch </li> 359 <li></li> 360 <li> <code>targetSdkVersion</code> 14 361 </li> 362 </ul> 363 364 <h3 class="rel-resources clearfloat"></h3> 365 366 <div class="resource-widget resource-flow-layout col-13" 367 data-query="collection:distribute/essentials/tabletguidelines/widgets" 368 data-sortOrder="-timestamp" 369 data-cardSizes="6x3" 370 data-maxResults="6"></div> 371 372 373 <div class="headerLine"><h2 id="offer-full-feature-set">7. </h2></div> 374 375 <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> 376 377 <p> 378 </p> 379 380 <ul> 381 <li> 382 383 </li> 384 385 <li> 386 387 388 <ul> 389 <li> 390 391 </li> 392 393 <li> GPS 394 GPS 395 396 397 398 </li> 399 </ul> 400 </li> 401 402 <li> 403 404 405 </li> 406 </ul> 407 408 <div class="headerLine"><h2 id="android-versions">8. Android </h2></div> 409 410 <p> 411 Android 412 <a href="{@docRoot}about/versions/android-3.0.html">Android 3.0</a>API 11 413 414 <a href="{@docRoot}about/versions/android-4.0.html">Android 415 4.0</a> 416 417 </p> 418 419 <p> 420 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> 421 Android 422 <code>targetSdkVersion</code> API Android 423 424 425 </p> 426 427 <p style="margin-bottom:.5em;"> 428 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> 429 430 </p> 431 432 <ol style="list-style-type:lower-alpha;margin-top:0em;"> 433 <li> 434 11 <code>targetSdkVersion</code> 14 435 436 </li> 437 438 <li> 439 11 <code>minSdkVersion</code> 440 </li> 441 442 <li> <code>maxSdkVersion</code> 11 443 444 <em></em> <code>maxSdkVersion</code> 445 </li> 446 </ol> 447 448 <h3 class="rel-resources clearfloat"></h3> 449 450 <div class="resource-widget resource-flow-layout col-13" 451 data-query="collection:distribute/essentials/tabletguidelines/versions" 452 data-sortOrder="-timestamp" 453 data-cardSizes="6x3" 454 data-maxResults="6"></div> 455 456 <div class="headerLine"><h2 id="hardware-requirements">9. </h2></div> 457 458 <p> 459 460 Wi-Fi 461 462 </p> 463 464 <p> 465 APK 466 467 468 <em></em> 469 470 </p> 471 472 <ul> 473 <li> <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> 474 475 476 477 <ul> 478 <li><code>android.hardware.telephony</code></li> 479 <li><code>android.hardware.camera</code></li> 480 <li><code>android.hardware.camera.front</code></li> 481 </ul></li> 482 483 <li> <code>android:required=false</code> 484 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> 485 <em></em> 486 487 <p> 488 <code>android.hardware.telephony</code> 489 490 491 </p> 492 493 <pre><uses-feature android:name="android.hardware.telephony" android:required="false" /></pre></li> 494 495 <li> 496 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions"></a> <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code><permission></code></a> 497 498 <code><uses-feature></code> 499 <code>android:required=false</code> 500 </li> 501 </ul> 502 503 504 <p> 505 <em></em> 506 507 508 509 </p> 510 511 <p> 512 GPS GPS 513 514 515 516 </p> 517 518 <h3 class="rel-resources clearfloat"></h3> 519 520 <div class="resource-widget resource-flow-layout col-13" 521 data-query="collection:distribute/essentials/tabletguidelines/hardware" 522 data-sortOrder="-timestamp" 523 data-cardSizes="9x3" 524 data-maxResults="6"></div> 525 526 <div class="headerLine"><h2 id="support-screens">10. </h2></div> 527 528 <p> 529 </p> 530 531 <ul> 532 <li> 533 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> 534 <code>android:largeScreens="false"</code> 535 <code>android:xlargeScreens="false"</code></li> 536 <li> <code>minSdkVersion</code> 13 537 <code>android:largeScreens="true"</code> <code>android:xlargeScreens="true"</code> 538 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> 539 </li> 540 </ul> 541 542 <p> 543 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a> 544 545 <em></em> 546 547 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a> 548 </p> 549 550 <h3 class="rel-resources clearfloat"></h3> 551 552 <div class="resource-widget resource-flow-layout col-13" 553 data-query="collection:distribute/essentials/tabletguidelines/tabletscreens" 554 data-sortOrder="-timestamp" 555 data-cardSizes="9x3,6x3,6x3" 556 data-maxResults="6"></div> 557 558 559 <div class="headerLine"><h2 id="google-play">11. Google Play </h2></div> 560 561 <p> 562 563 Google Play 564 565 </p> 566 567 <div><img class="border-img" src="{@docRoot}images/gp-tablet-quality-4.jpg"></div> 568 569 570 <h4> 571 572 </h4> 573 574 <p> 575 576 Google Play 577 578 </p> 579 580 <ul style="margin-top:0;"> 581 <li> 582 583 584 </li> 585 586 <li> 7 10 587 </li> 588 589 <li> 590 591 </li> 592 593 <li> 594 </li> 595 596 <li> <strong>1280 x 720</strong> 597 598 </li> 599 600 <li> 7 8 10 8 601 602 </li> 603 </ul> 604 605 <h4> 606 607 </h4> 608 609 <ul> 610 <li> 611 612 613 </li> 614 615 <li> 616 617 </li> 618 </ul> 619 620 <h4> 621 622 </h4> 623 624 <p> 625 626 627 628 629 </p> 630 631 <ul> 632 <li> 633 634 635 </li> 636 637 <li> 638 639 10 640 641 </li> 642 643 <li> 644 645 </li> 646 647 <li> 648 </li> 649 </ul> 650 651 <h4> 652 653 </h4> 654 655 <p> 656 657 658 659 </p> 660 661 <ul> 662 <li> 663 </li> 664 665 <li>— <a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art Generator</a> 7 10 666 667 668 669 </li> 670 671 <li> Google Play 672 <a href="{@docRoot}distribute/tools/promote/badges.html"></a> 673 674 </li> 675 </ul> 676 677 <h3 class="rel-resources clearfloat"></h3> 678 679 <div class="resource-widget resource-flow-layout col-13" 680 data-query="collection:distribute/essentials/tabletguidelines/showcase" 681 data-sortOrder="-timestamp" 682 data-cardSizes="9x3,9x3,9x3,9x3" 683 data-maxResults="6"></div> 684 685 <div class="headerLine"> 686 <h2 id="google-play-best-practices"> 687 12. Google Play 688 </h2> 689 690 691 </div> 692 693 <p> 694 Google Play 695 696 </p> 697 698 <div> 699 <img class="border-img" src="{@docRoot}images/gp-tablet-quality-5.jpg" style="1px solid #ddd"> 700 </div> 701 702 <h4 id="google-play-optimization-tips"> 703 704 </h4> 705 706 <p>Google Play 707 708 709 710 </p> 711 712 <div class="sidebox-wrapper"> 713 <div class="sidebox"> 714 <h2></h2> 715 716 <p> 717 </p> 718 719 <p> 720 </p> 721 722 <p><strong><a href="https://support.google.com/googleplay/android-developer/contact/tabletq" target="_googleplay" style="white-space:nowrap">»</a></strong></p> 723 </div> 724 </div> 725 726 <p> 727 728 729 </p> 730 731 <p> 732 733 734 735 </p> 736 737 <p><a href="https://support.google.com/googleplay/android-developer/contact/tabletq" target="_googleplay" style="white-space:nowrap"> »</a> 738 739 740 741 </p> 742 743 744 <h4></h4> 745 746 <p> 747 <a href="https://play.google.com/apps/publish/"></a> APK 748 749 750 </p> 751 752 <h4> APK </h4> 753 754 <p> 755 APK Google Play 756 757 758 </p> 759 760 <ul style="margin-top:.25em;"> 761 <li> 762 </li> 763 764 <li> 765 766 </li> 767 768 <li> 769 </li> 770 771 <li> 772 773 </li> 774 </ul> 775 776 <p> 777 <a href="{@docRoot}google/play/publishing/multiple-apks.html"> APK </a> APK 778 779 780 </p> 781 782 <h3 class="rel-resources clearfloat"></h3> 783 <div class="resource-widget resource-flow-layout col-13" 784 data-query="collection:distribute/essentials/tabletguidelines/googleplay" 785 data-sortOrder="-timestamp" 786 data-cardSizes="9x3" 787 data-maxResults="6"></div> 788 789 790 <div class="headerLine"> 791 <h2 id="test-environment"> 792 793 </h2> 794 795 796 </div> 797 798 <p> 799 — 800 801 802 </p> 803 804 <p> 805 <a href="{@docRoot}distribute/essentials/quality/core.html#test-environment"></a>/ 806 807 808 809 </p> 810 811 <p class="table-caption"><strong> 1</strong>. 812 813 </p> 814 815 <table> 816 <tr> 817 <th></th> 818 <th></th> 819 <th></th> 820 <th></th> 821 <th>AVD </th> 822 </tr> 823 824 <tr> 825 <td>7 </td> 826 <td><span style="white-space:nowrap"><code>large</code> </span><br /><code>-sw600</code></td> 827 <td><code>hdpi</code>,<br /><code>tvdpi</code></td> 828 <td>Android 4.0 API 14 </td> 829 <td>WXGA800-7in</td> 830 </tr> 831 <tr> 832 <td><span style="white-space:nowrap">10 </span></td> 833 <td><span style="white-space:nowrap"><code>xlarge</code> </span><br /><code>-sw800</code></td> 834 <td><code>mdpi</code>,<br /><code>hdpi</code>,<br /><code>xhdpi</code></td> 835 <td>Android 3.2 API 13 </td> 836 <td>WXGA800</td> 837 </tr> 838 </table> 839 840 <div class="headerLine"><h2 id="related-resources"></h2></div> 841 842 <div class="resource-widget resource-flow-layout col-13" 843 data-query="collection:distribute/essentials/tabletguidelines" 844 data-sortOrder="-timestamp" 845 data-cardSizes="9x3" 846 data-maxResults="6"></div>