Home | History | Annotate | Download | only in resources
      1 page.title=Fornecimento de recursos
      2 parent.title=Recursos de aplicativo
      3 parent.link=index.html
      4 @jd:body
      5 
      6 <div id="qv-wrapper">
      7 <div id="qv">
      8   <h2>Visualizao rpida</h2>
      9   <ul>
     10     <li>Tipos diferentes de recursos pertencem a subdiretrios diferentes de {@code res/}</li>
     11     <li>Recursos alternativos fornecem arquivos de recurso especficos de configurao</li>
     12     <li>Sempre inclua recursos padro para que o aplicativo no dependa de configuraes
     13 especficas do dispositivo</li>
     14   </ul>
     15   <h2>Neste documento</h2>
     16   <ol>
     17     <li><a href="#ResourceTypes">Agrupamento de tipos de recursos</a></li>
     18     <li><a href="#AlternativeResources">Fornecimento de recursos alternativos</a>
     19       <ol>
     20         <li><a href="#QualifierRules">Regras de nome do qualificador</a></li>
     21         <li><a href="#AliasResources">Criao de recursos de alias</a></li>
     22       </ol>
     23     </li>
     24     <li><a href="#Compatibility">Fornecimento da melhor compatibilidade de dispositivo com recursos</a></li>
     25     <li><a href="#BestMatch">Como o Android encontra o melhor recurso compatvel</a></li>
     26   </ol>
     27 
     28   <h2>Veja tambm</h2>
     29   <ol>
     30     <li><a href="accessing-resources.html">Acesso aos recursos</a></li>
     31     <li><a href="available-resources.html">Tipos de recursos</a></li>
     32     <li><a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
     33 vrias telas</a></li>
     34   </ol>
     35 </div>
     36 </div>
     37 
     38 <p>Deve-se sempre exteriorizar os recursos do aplicativo, como imagens e strings do cdigo,
     39 para que voc possa mant-los independentemente. Deve-se tambm fornecer recursos alternativos para
     40 configuraes especficas do dispositivo, agrupando-os em diretrios de recursos especialmente nomeados. Em
     41 tempo de execuo, o Android usa o recurso adequado com base na configurao atual. Por
     42 exemplo, voc pode querer fornecer um layout de IU diferente dependendo do tamanho da tela ou
     43 strings diferentes dependendo da configurao de idioma.</p>
     44 
     45 <p>Ao exteriorizar os recursos do aplicativo,  possvel acess-los
     46 usando IDs de recurso que so gerados na classe {@code R} do projeto. O procedimento para usar
     47 recursos no aplicativo  discutido em <a href="accessing-resources.html">Acesso aos
     48 recursos</a>. Este documento mostra como agrupar os recursos no projeto do Android
     49 e fornecer recursos alternativos para configuraes especficas do dispositivo.</p>
     50 
     51 
     52 <h2 id="ResourceTypes">Agrupamento de tipos de recursos</h2>
     53 
     54 <p>Voc deve posicionar cada tipo de recurso em um subdiretrio especfico do diretrio
     55 {@code res/} do projeto. Por exemplo, abaixo est a hierarquia de arquivos para um projeto simples:</p>
     56 
     57 <pre class="classic no-pretty-print">
     58 MyProject/
     59     src/  <span style="color:black">
     60         MyActivity.java  </span>
     61     res/
     62         drawable/  <span style="color:black">
     63             graphic.png  </span>
     64         layout/  <span style="color:black">
     65             main.xml
     66             info.xml</span>
     67         mipmap/  <span style="color:black">
     68             icon.png </span>
     69         values/  <span style="color:black">
     70             strings.xml  </span>
     71 </pre>
     72 
     73 <p>Como pode ver neste exemplo, o diretrio {@code res/} contm todos os recursos (em subdiretrios):
     74 um recurso de imagem, dois recursos de layout, diretrios {@code mipmap/} para cones de 
     75 inicializao e um arquivo de recurso de string. Os nomes dos diretrios
     76 de recursos so importantes e so descritos na tabela 1.</p>
     77 
     78 <p class="note"><strong>Observao:</strong> para obter mais informaes sobre o uso de pastas de mipmap, consulte
     79 <a href="{@docRoot}tools/projects/index.html#mipmap">Viso geral do gerenciamento de projetos</a>.</p>
     80 
     81 <p class="table-caption" id="table1"><strong>Tabela 1.</strong> Os diretrios de recursos
     82 compatveis dentro do diretrio {@code res/} do projeto.</p>
     83 
     84 <table>
     85   <tr>
     86     <th scope="col">Diretrio</th>
     87     <th scope="col">Tipo de recurso</th>
     88   </tr>
     89 
     90   <tr>
     91     <td><code>animator/</code></td>
     92     <td>Arquivos XML que definem as <a href="{@docRoot}guide/topics/graphics/prop-animation.html">animaes
     93 da propriedade</a>.</td>
     94   </tr>
     95 
     96   <tr>
     97     <td><code>anim/</code></td>
     98     <td>Arquivos XML que definem as <a href="{@docRoot}guide/topics/graphics/view-animation.html#tween-animation">animaes
     99 intermedirias</a>. (As animaes de propriedade tambm podem ser salvas neste diretrio,
    100 mas o diretrio {@code animator/}  o preferencial para animaes de propriedade para distinguir os dois
    101 tipos.)</td>
    102   </tr>
    103 
    104   <tr>
    105     <td><code>color/</code></td>
    106     <td>Arquivos XML que definem uma lista de estado de cores. Consulte <a href="color-list-resource.html">Recurso de
    107 lista de estado de cores</a></td>
    108   </tr>
    109 
    110   <tr>
    111     <td><code>drawable/</code></td>
    112 
    113     <td><p>Os arquivos Bitmap ({@code .png}, {@code .9.png}, {@code .jpg}, {@code .gif}) ou arquivos XML
    114 so compilados nos seguintes subtipos de recurso desenhvel:</p>
    115       <ul>
    116         <li>Arquivos Bitmap</li>
    117         <li>Nine-Patch (bitmaps redimensionveis)</li>
    118         <li>Listas de estado</li>
    119         <li>Formatos</li>
    120         <li>Desenhveis de animao</li>
    121         <li>Outros desenhveis</li>
    122       </ul>
    123       <p>Veja <a href="drawable-resource.html">Recursos desenhveis</a>.</p>
    124     </td>
    125   </tr>
    126 
    127   <tr>
    128     <td><code>mipmap/</code></td>
    129     <td>Arquivos desenhveis para diferentes densidades do cone do inicializador. Para obter mais informaes sobre o gerenciamento de
    130     cones do inicializador com pastas {@code mipmap/}, consulte
    131     <a href="{@docRoot}tools/project/index.html#mipmap">Viso geral do gerenciamento de projetos</a>.</td>
    132   </tr>
    133 
    134   <tr>
    135     <td><code>layout/</code></td>
    136     <td>Arquivos XML que definem um layout de interface do usurio.
    137         Consulte <a href="layout-resource.html">Recurso de layout</a>.</td>
    138   </tr>
    139 
    140   <tr>
    141     <td><code>menu/</code></td>
    142     <td>Arquivos XML que definem os menus do aplicativo, como Menu de opes, Menu de contexto
    143 ou Submenu. Consulte <a href="menu-resource.html">Recurso de menu</a>.</td>
    144   </tr>
    145 
    146   <tr>
    147     <td><code>raw/</code></td>
    148     <td><p>Arquivos arbitrrios para salvar na forma bruta. Para abrir esses recursos
    149 com {@link java.io.InputStream} bruto, chame {@link android.content.res.Resources#openRawResource(int)
    150 Resources.openRawResource()} com o ID do recurso, que  {@code R.raw.<em>filename</em>}.</p>
    151       <p>No entanto, caso precise de acesso aos nomes e  hierarquia dos arquivos originais, considere salvar
    152 alguns recursos no diretrio {@code
    153 assets/} (em vez de {@code res/raw/}). Os arquivos em {@code assets/} no recebem um ID de recurso,
    154 ento  possvel l-los usando apenas o {@link android.content.res.AssetManager}.</p></td>
    155   </tr>
    156 
    157   <tr>
    158     <td><code>values/</code></td>
    159     <td><p>Arquivos XML que contm valores simples, como strings, nmeros inteiros e cores.</p>
    160       <p>Enquanto os arquivos de recurso XML estiverem em outros subdiretrios {@code res/}, defina um nico recurso
    161 com base no nome do arquivo XML, os arquivos no diretrio {@code values/} descrevem vrios recursos.
    162 Para cada arquivo neste diretrio, cada filho do elemento {@code &lt;resources&gt;} define um nico
    163 recurso. Por exemplo, um elemento {@code &lt;string&gt;} cria
    164 um recurso {@code R.string} e um elemento {@code &lt;color&gt;} cria um recurso 
    165 {@code R.color}.</p>
    166       <p>Como cada recurso  definido com seu prprio elemento XML,  possvel nomear o arquivo
    167 da forma que quiser e colocar tipos de recurso variados em um arquivo. No entanto, para esclarecer, voc pode
    168 querer colocar tipos de recursos nicos em arquivos diferentes. Por exemplo, a seguir h algumas convenes
    169 de nome de arquivo para recursos que podem ser criados neste diretrio:</p>
    170       <ul>
    171         <li>arrays.xml para matriz de recurso (<a href="more-resources.html#TypedArray">matriz digitadas</a>).</li>
    172         <li>colors.xml para <a href="more-resources.html#Color">valores de cor</a></li>
    173         <li>dimens.xml para <a href="more-resources.html#Dimension">valores de dimenso</a>.</li>
    174         <li>strings.xml para <a href="string-resource.html">valores
    175 de string</a>.</li>
    176         <li>styles.xml para <a href="style-resource.html">estilos</a>.</li>
    177       </ul>
    178       <p>Consulte <a href="string-resource.html">Recursos de string</a>,
    179         <a href="style-resource.html">Recurso de estilo</a>
    180         e <a href="more-resources.html">Mais tipos de recursos</a>.</p>
    181     </td>
    182   </tr>
    183 
    184   <tr>
    185     <td><code>xml/</code></td>
    186     <td>Arquivos arbitrrios XML que podem ser lidos em tempo de execuo chamando {@link
    187 android.content.res.Resources#getXml(int) Resources.getXML()}. Vrios arquivos de configurao XML
    188 devem ser salvos aqui, como uma <a href="{@docRoot}guide/topics/search/searchable-config.html">configurao buscvel</a>.
    189 <!-- or preferences configuration. --></td>
    190   </tr>
    191 </table>
    192 
    193 <p class="caution"><strong>Ateno:</strong> nunca salve arquivos de recurso diretamente no diretrio
    194 {@code res/} &mdash; isto provocar um erro ao compilador.</p>
    195 
    196 <p>Para obter mais informaes sobre determinados tipos de recursos, consulte a documentao <a href="available-resources.html">Tipos de recursos</a>.</p>
    197 
    198 <p>Os recursos salvos nos subdiretrios definidos na tabela 1 so os recursos
    199 "padro". Ou seja, esses recursos definem projeto e contedo padro para o aplicativo.
    200 No entanto, tipos diferentes de dispositivos com Android podem chamar diferentes tipos de recursos.
    201 Por exemplo: se um dispositivo tiver uma tela maior do que o normal, deve-se fornecer
    202 recursos de layout diferentes que aproveitem o espao extra na tela. Ou, se um dispositivo tiver
    203 uma configurao de idioma diferente, deve-se fornecer recursos de string diferentes que traduzam
    204 o texto na interface do usurio. Para fornecer esses diferentes recursos para configuraes de dispositivo
    205 diferentes, voc precisa fornecer recursos alternativos, alm dos recursos
    206 padro.</p>
    207 
    208 
    209 <h2 id="AlternativeResources">Fornecimento de recursos alternativos</h2>
    210 
    211 
    212 <div class="figure" style="width:429px">
    213 <img src="{@docRoot}images/resources/resource_devices_diagram2.png" height="167" alt="" />
    214 <p class="img-caption">
    215 <strong>Figura 1.</strong> Dois dispositivos diferentes, cada um usando recursos diferentes de layout.</p>
    216 </div>
    217 
    218 <p>Quase todos os aplicativos devem fornecer recursos alternativos para suportar
    219 configuraes especficas do dispositivo. Por exemplo: deve-se incluir recursos desenhveis alternativos para densidades
    220 de tela diferentes e recursos alternativos de string para idiomas diferentes. Em tempo de execuo,
    221 o Android detecta a configurao atual do dispositivo e carrega os recursos
    222 adequados para o aplicativo.</p>
    223 
    224 <p>Para especificar as alternativas de configurao especfica para um conjunto de recursos:</p>
    225 <ol>
    226   <li>Crie um novo diretrio no {@code res/} nomeado na forma de {@code
    227 <em>&lt;resources_name&gt;</em>-<em>&lt;config_qualifier&gt;</em>}.
    228     <ul>
    229       <li><em>{@code &lt;resources_name&gt;}</em>  o nome do diretrio dos recursos padro correspondentes
    230 (definido na tabela 1).</li>
    231       <li><em>{@code &lt;qualifier&gt;}</em>  um nome que especifica uma configurao individual
    232 para a qual esses recursos destinam-se (definido na tabela 2).</li>
    233     </ul>
    234     <p> possvel anexar mais de um <em>{@code &lt;qualifier&gt;}</em>. Separe cada
    235 um com um travesso.</p>
    236     <p class="caution"><strong>Ateno:</strong> ao anexar vrios qualificadores, deve-se
    237 coloc-los na mesma ordem em que foram listados na tabela 2. Se os qualificadores forem ordenados
    238 de forma incorreta, os recursos sero ignorados.</p>
    239   </li>
    240   <li>Salve os respectivos recursos alternativos neste novo diretrio. Os arquivos de recurso devem ser
    241 nomeados exatamente da mesma forma que os arquivos de recurso padro.</li>
    242 </ol>
    243 
    244 <p>Por exemplo, a seguir h alguns recursos alternativos e outros padro:</p>
    245 
    246 <pre class="classic no-pretty-print">
    247 res/
    248     drawable/   <span style="color:black">
    249         icon.png
    250         background.png    </span>
    251     drawable-hdpi/  <span style="color:black">
    252         icon.png
    253         background.png  </span>
    254 </pre>
    255 
    256 <p>O qualificador {@code hdpi} indica que os recursos neste diretrio so para os dispositivos
    257 com tela de alta densidade. As imagens em cada um desses diretrios desenhveis so dimensionadas para uma densidade de tela
    258 especfica, mas os nomes dos arquivos
    259 so exatamente os mesmos. Desta maneira, o ID de recurso usado para referenciar {@code icon.png} ou a imagem {@code
    260 background.png}  sempre o mesmo, mas o Android seleciona
    261 a verso de cada arquivo que melhor compatibiliza-se com o dispositivo atual, comparando as informaes de configurao
    262 com os qualificadores no nome do diretrio do recurso.</p>
    263 
    264 <p>O Android  compatvel com vrios qualificadores de configurao e  possvel
    265 adicionar vrios qualificadores a um nome de diretrio separando cada qualificador com um travesso. A tabela 2
    266 lista os qualificadores de configurao vlidos, em ordem de precedncia &mdash; caso use vrios
    267 qualificadores para um diretrio de recursos, voc deve adicion-los ao nome do diretrio na ordem que foram listados
    268 na tabela.</p>
    269 
    270 
    271 <p class="table-caption" id="table2"><strong>Tabela 2.</strong> Nomes de qualificadores
    272 de configurao.</p>
    273 <table>
    274     <tr>
    275         <th>Configurao</th>
    276         <th>Valores do qualificador</th>
    277         <th>Descrio</th>
    278     </tr>
    279     <tr id="MccQualifier">
    280       <td>MCC e MNC</td>
    281       <td>Exemplos:<br/>
    282         <code>mcc310</code><br/>
    283         <code><nobr>mcc310-mnc004</nobr></code><br/>
    284         <code>mcc208-mnc00</code><br/>
    285         etc.
    286       </td>
    287       <td>
    288         <p>O cdigo de dispositivos mveis do pas (MCC), opcionalmente seguido do cdigo de rede mvel (MNC)
    289         do carto SIM no dispositivo. Por exemplo, <code>mcc310</code>  dos E.U.A. em qualquer operadora,
    290         <code>mcc310-mnc004</code>  dos E.U.A., em Verizon, e <code>mcc208-mnc00</code>  da Frana,
    291         em Orange.</p>
    292         <p>Se o dispositivo usar uma conexo de rdio (telefone GSM), os valores MCC e MNC sero
    293         os do carto SIM.</p>
    294         <p>Voc tambm pode usar somente o MCC (por exemplo, para incluir recursos legais especficos do pas
    295 no aplicativo). Caso precise especificar com base somente no idioma, use o qualificador
    296 de <em>idioma e regio</em> (discutido a seguir). Caso decida usar o qualificador
    297 de MCC e MNC, tome cuidado e teste o seu funcionamento.</p>
    298         <p>Veja tambm os campos de configurao {@link
    299 android.content.res.Configuration#mcc} e {@link
    300 android.content.res.Configuration#mnc}, que indicam o cdigo de dispositivos mveis do pas atual
    301 e o cdigo de rede mvel, respectivamente.</p>
    302       </td>
    303     </tr>
    304     <tr id="LocaleQualifier">
    305       <td>Idioma e regio</td>
    306       <td>Exemplos:<br/>
    307         <code>en</code><br/>
    308         <code>fr</code><br/>
    309         <code>en-rUS</code><br/>
    310         <code>fr-rFR</code><br/>
    311         <code>fr-rCA</code><br/>
    312         etc.
    313       </td>
    314       <td><p>O idioma  definido por um cdigo de idioma<a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">ISO
    315               639-1</a> de duas letras, opcionalmente seguido por um cdigo da regio
    316               <a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO
    317               3166-1-alpha-2</a> (precedido de "{@code r}" em minsculo).
    318         </p><p>
    319         Os cdigos <em>no</em> diferenciam maisculas e minsculas; o prefixo {@code r}  usado
    320         para distinguir a parte da regio.
    321         No  possvel especificar uma regio s.</p>
    322         <p>Isto pode mudar durante a vida til
    323 do aplicativo se o usurio mudar o idioma nas configuraes do sistema. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    324 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    325         <p>Consulte <a href="localization.html">Localizao</a> para obter um guia completo para localizar
    326 os aplicativos para outros idiomas.</p>
    327         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#locale},
    328 que indica a localidade atual.</p>
    329       </td>
    330     </tr>
    331     <tr id="LayoutDirectionQualifier">
    332       <td>Direo do layout</td>
    333       <td><code>ldrtl</code><br/>
    334         <code>ldltr</code><br/>
    335       </td>
    336       <td><p>A direo do layout do aplicativo. {@code ldrtl} significa "layout-direction-right-to-left" (direo do layout da direita para a esquerda).
    337       {@code ldltr} significa "layout-direction-left-to-right" (direo do layout da esquerda para a direita) e  o valor implcito padro.
    338       </p>
    339       <p>Isto pode aplicar-se a qualquer recurso, como layouts, desenhveis ou valores.
    340       </p>
    341       <p>Por exemplo, caso queira fornecer um layout especfico para o idioma arbico e
    342       layouts genricos para outros idiomas que seguem a leitura da direita para a esquerda, como os idiomas hebreu e persa, ento voc teria:
    343       </p>
    344 <pre class="classic no-pretty-print">
    345 res/
    346     layout/   <span style="color:black">
    347         main.xml  </span>(Default layout)
    348     layout-ar/  <span style="color:black">
    349         main.xml  </span>(Specific layout for Arabic)
    350     layout-ldrtl/  <span style="color:black">
    351         main.xml  </span>(Any "right-to-left" language, except
    352                   for Arabic, because the "ar" language qualifier
    353                   has a higher precedence.)
    354 </pre>
    355         <p class="note"><strong>Observao:</strong> para ativar recursos de layout de leitura da direita para a esquerda
    356         para o aplicativo, voc deve definir <a href="{@docRoot}guide/topics/manifest/application-element.html#supportsrtl">{@code
    357         supportsRtl}</a> como {@code "true"} e <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a> como 17 ou maior.</p>
    358         <p><em>Adicionado  API de nvel 17.</em></p>
    359       </td>
    360     </tr>
    361     <tr id="SmallestScreenWidthQualifier">
    362       <td>smallestWidth</td>
    363       <td><code>sw&lt;N&gt;dp</code><br/><br/>
    364         Exemplos:<br/>
    365         <code>sw320dp</code><br/>
    366         <code>sw600dp</code><br/>
    367         <code>sw720dp</code><br/>
    368         etc.
    369       </td>
    370       <td>
    371         <p>O tamanho fundamental de uma tela, como indicado pela menor dimenso da rea da tela
    372 disponvel. Especificamente, o valor smallestWidth do dispositivo  o menor da altura e largura
    373 da tela (pode-se tambm interpretar isso como a "menor largura possvel" da tela).  possvel
    374 usar este qualificador para garantir que, independentemente da orientao atual da tela,
    375 o aplicativo tenha pelo menos {@code &lt;N&gt;} dps de largura disponvel para a IU.</p>
    376         <p>Por exemplo, se o seu layout exigir que a menor dimenso da rea da tela seja de pelo menos
    377 600 dp,  possvel usar o seguinte qualificador para criar os recursos do layout: {@code
    378 res/layout-sw600dp/}. O sistema usar esses recursos somente quando a menor dimenso
    379 da tela disponvel for de pelo menos 600 dp, independentemente se o lado de 600 dp  a altura ou a largura
    380 percebida pelo usurio. O valor smallestWidth  uma caracterstica fixa do tamanho da tela do dispositivo;<strong>o valor smallestWidth
    381 do dispositivo no altera quando a orientao da tela muda</strong>.</p>
    382         <p>O smallestWidth de um dispositivo considera a IU do sistema e as decoraes da tela. Por exemplo,
    383 se o dispositivo tiver alguns elementos de IU persistentes na tela que considera o espao ao longo do eixo
    384 de smallestWidth, o sistema declara que smallestWidth  menor do que o tamanho
    385 atual da tela, pois so pixels de tela no disponveis para a IU. Portanto, o valor usado
    386 deve ser a dimenso real menor <em>necessria para o layout</em> (geralmente, este valor
    387  a "menor largura" compatvel com o layout, independente da orientao atual da tela).</p>
    388         <p>Alguns dos valores que voc pode usar para tamanhos de tela comuns:</p>
    389         <ul>
    390           <li>320, para dispositivos com configuraes de tela como:
    391             <ul>
    392               <li>240 x 320 ldpi (celular QVGA)</li>
    393               <li>320 x 480 mdpi (celular)</li>
    394               <li>480 x 800 hdpi (celular de alta densidade)</li>
    395             </ul>
    396           </li>
    397           <li>480, para telas como 480 x 800 mdpi (tablet/celular).</li>
    398           <li>600, para telas como 600 x 1024 mdpi (tablet de 7 polegadas).</li>
    399           <li>720, para telas como 720 x 1280 mdpi (tablet de 10 polegadas).</li>
    400         </ul>
    401         <p>Quando o aplicativo fornece vrios diretrios de recursos com valores diferentes
    402           para o qualificador smallestWidth, o sistema usa o mais prximo (sem exceder) ao
    403 de smallestWidth do dispositivo. </p>
    404         <p><em>Adicionado  API de nvel 13.</em></p>
    405         <p>Veja tambm o atributo <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html#requiresSmallest">{@code
    406 android:requiresSmallestWidthDp}</a>, que declara a smallestWidth mnima compatvel
    407 com o aplicativo e o campo de configurao {@link
    408 android.content.res.Configuration#smallestScreenWidthDp}, que retm
    409 o valor de smallestWidth do dispositivo.</p>
    410         <p>Para obter mais informaes sobre como projetar para telas diferentes e usar
    411 este qualificador, consulte o guia do desenvolvedor <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
    412 vrias telas</a>.</p>
    413       </td>
    414     </tr>
    415     <tr id="ScreenWidthQualifier">
    416       <td>Largura disponvel</td>
    417       <td><code>w&lt;N&gt;dp</code><br/><br/>
    418         Exemplos:<br/>
    419         <code>w720dp</code><br/>
    420         <code>w1024dp</code><br/>
    421         etc.
    422       </td>
    423       <td>
    424         <p>Especifica uma largura mnima disponvel da tela, em unidades {@code dp} em que o recurso
    425           deve ser usado &mdash; definido pelo valor <code>&lt;N&gt;</code>.  Este valor
    426           de configurao mudar quando a orientao
    427           alternar entre paisagem e retrato para corresponder  largura atual.</p>
    428         <p>Quando o aplicativo fornece vrios diretrios de recurso com valores diferentes
    429           para esta configurao, o sistema usa o mais prximo (sem exceder)
    430           da largura atual da tela do dispositivo.  O
    431           valor aqui considera as decoraes da tela. Portanto, se o dispositivo tiver alguns
    432           elementos de IU persistentes na borda esquerda ou direita da tela, ele usa
    433           um valor para a largura menor do que o tamanho atual da tela, considerando
    434           esses elementos de IU e reduzindo o espao disponvel do aplicativo.</p>
    435         <p><em>Adicionado  API de nvel 13.</em></p>
    436         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#screenWidthDp},
    437           que possui a largura atual da tela.</p>
    438         <p>Para obter mais informaes sobre como projetar para telas diferentes e usar
    439 este qualificador, consulte o guia do desenvolvedor <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
    440 vrias telas</a>.</p>
    441       </td>
    442     </tr>
    443     <tr id="ScreenHeightQualifier">
    444       <td>Altura disponvel</td>
    445       <td><code>h&lt;N&gt;dp</code><br/><br/>
    446         Exemplos:<br/>
    447         <code>h720dp</code><br/>
    448         <code>h1024dp</code><br/>
    449         etc.
    450       </td>
    451       <td>
    452         <p>Especifica uma altura mnima disponvel da tela, em unidades "dp" em que o recurso
    453           deve ser usado &mdash; definido pelo valor <code>&lt;N&gt;</code>.  Este valor
    454           de configurao mudar quando a orientao
    455           alternar entre paisagem e retrato para corresponder  altura atual.</p>
    456         <p>Quando o aplicativo fornece vrios diretrios de recursos com valores diferentes
    457           para esta configurao, o sistema usa o mais prximo (sem exceder)
    458           da altura atual da tela do dispositivo.  O
    459           valor aqui considera as decoraes da tela. Portanto, se o dispositivo tiver alguns
    460           elementos de IU persistentes na borda superior ou inferior da tela, ele usa
    461           um valor para a altura menor do que o tamanho atual da tela, considerando
    462           esses elementos da IU e reduzindo o espao disponvel do aplicativo.  As decoraes da tela
    463           que no forem fixas (como uma barra de status do telefone que pode ser
    464           ocultada com tela cheia) <em>no</em> so consideradas aqui, assim como
    465           as decoraes da janela, como a barra de ttulo ou a barra de ao. Portanto, os aplicativos devem ser preparados para
    466           lidar com o espao um pouco menor do que especificam.
    467         <p><em>Adicionado  API de nvel 13.</em></p>
    468         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#screenHeightDp},
    469           que possui a largura atual da tela.</p>
    470         <p>Para obter mais informaes sobre como projetar para telas diferentes e usar
    471 este qualificador, consulte o guia do desenvolvedor <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
    472 vrias telas</a>.</p>
    473       </td>
    474     </tr>
    475     <tr id="ScreenSizeQualifier">
    476       <td>Tamanho da tela</td>
    477       <td>
    478         <code>small</code><br/>
    479         <code>normal</code><br/>
    480         <code>large</code><br/>
    481         <code>xlarge</code>
    482       </td>
    483       <td>
    484         <ul class="nolist">
    485         <li>{@code small}: Telas de tamanho semelhante
    486          tela de pouca densidade QVGA. O tamanho mnimo do layout para uma tela pequena
    487          de aproximadamente 320 x 426 unidades dp.  Exemplos so QVGA de pouca densidade e VGA de alta
    488         densidade.</li>
    489         <li>{@code normal}: Telas de tamanho semelhante
    490          tela de mdia densidade HVGA. O tamanho mnimo do layout para uma tela normal
    491          de aproximadamente 320 x 470 unidades dp.  Exemplos
    492         de tais delas so as WQVGA de pouca densidade, HVGA de mdia densidade e WVGA
    493         de alta densidade.</li>
    494         <li>{@code large}: Telas de tamanho semelhante
    495          tela de mdia densidade VGA.
    496         O tamanho mnimo do layout para uma tela grande  de aproximadamente 480 x 640 unidades dp.
    497         Exemplos so as telas de densidade mdia VGA e WVGA.</li>
    498         <li>{@code xlarge}: Telas que so consideravelmente maiores do que a
    499         tela tradicional de mdia densidade HVGA. O tamanho mnimo do layout para uma tela muito grande
    500          de aproximadamente 720x960 unidades dp.  Na maioria dos casos, dispositivos com telas
    501         muito grandes seriam grandes demais para serem carregados em bolsos e, provavelmente,
    502         seriam dispositivos no estilo tablet. <em>Adicionado  API de nvel 9.</em></li>
    503         </ul>
    504         <p class="note"><strong>Observao:</strong> usar um qualificador de tamanho no significa
    505 que os recursos sejam <em>apenas</em> para telas deste tamanho. Caso no fornea recursos
    506 alternativos com qualificadores que melhor correspondem  configurao atual do dispositivo, o sistema poder usar
    507 quaisquer recursos que representarem a <a href="#BestMatch">melhor correspondncia</a>.</p>
    508         <p class="caution"><strong>Ateno:</strong> se todos os recursos usarem um qualificador de tamanho
    509 <em>maior</em> do que a tela atual, o sistema <strong>no</strong> os usar
    510 e o aplicativo apresentar um erro em tempo de execuo (por exemplo, se todos os recursos de layout receberem tag com o qualificador {@code
    511 xlarge}, mas o dispositivo tiver uma tela de tamanho normal).</p>
    512         <p><em>Adicionado  API de nvel 4.</em></p>
    513         
    514         <p>Consulte <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
    515 vrias telas</a> para obter mais informaes.</p>
    516         <p>Consulte tambm o campo de configurao {@link android.content.res.Configuration#screenLayout},
    517 que indica se a tela  pequena, normal
    518 ou grande.</p>
    519       </td>
    520     </tr>
    521     <tr id="ScreenAspectQualifier">
    522       <td>Aspecto da tela</td>
    523       <td>
    524         <code>long</code><br/>
    525         <code>notlong</code>
    526       </td>
    527       <td>
    528         <ul class="nolist">
    529           <li>{@code long}: Telas grandes, como WQVGA, WVGA, FWVGA</li>
    530           <li>{@code notlong}: Telas que no so grandes, como QVGA, HVGA e VGA</li>
    531         </ul>
    532         <p><em>Adicionado  API de nvel 4.</em></p>
    533         <p>Isto baseia-se puramente na relao de aspecto da tela (uma tela "grande"  mais larga). Isto
    534 no est relacionado  orientao da tela.</p>
    535         <p>Consulte tambm o campo de configurao {@link android.content.res.Configuration#screenLayout},
    536 que indica se a tela  grande.</p>
    537       </td>
    538     </tr>
    539     <tr id="OrientationQualifier">
    540       <td>Orientao da tela</td>
    541       <td>
    542         <code>port</code><br/>
    543         <code>land</code>  <!-- <br/>
    544         <code>square</code>  -->
    545       </td>
    546       <td>
    547         <ul class="nolist">
    548           <li>{@code port}: O dispositivo est na orientao de retrato (vertical)</li>
    549           <li>{@code land}: O dispositivo est na orientao de paisagem (horizontal)</li>
    550           <!-- Square mode is currently not used. -->
    551         </ul>
    552         <p>Isto pode mudar durante a vida til do aplicativo se o usurio girar
    553 a tela. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    554 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    555         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#orientation},
    556 que indica a orientao atual do dispositivo.</p>
    557       </td>
    558     </tr>
    559     <tr id="UiModeQualifier">
    560       <td>Modo de IU</td>
    561       <td>
    562         <code>car</code><br/>
    563         <code>desk</code><br/>
    564         <code>television</code><br/>
    565         <code>appliance</code>
    566         <code>watch</code>
    567       </td>
    568       <td>
    569         <ul class="nolist">
    570           <li>{@code car}: O dispositivo est exibindo em uma estao de acoplamento de carro</li>
    571           <li>{@code desk}: O dispositivo est exibindo em uma estao de acoplamento de mesa</li>
    572           <li>{@code television}: O dispositivo est exibindo em uma televiso, fornecendo
    573           uma experincia  distncia, onde a IU  em tela grande,
    574           o usurio est longe, orientado principalmente por um controle direcional ou por outro tipo de
    575           interao sem indicador</li>
    576           <li>{@code appliance}: O dispositivo est servindo como uma aplicao,
    577           sem tela</li>
    578           <li>{@code watch}: O dispositivo tem uma tela que  usada no brao</li>
    579         </ul>
    580         <p><em>Adicionado  API de nvel 8, televiso adicionada  API de nvel 13 e relgio adicionado  API de nvel 20.</em></p>
    581         <p>Para obter informaes sobre como o aplicativo pode responder quando o dispositivo  inserido
    582         ou removido de um dock, consulte <a href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">Determinao
    583 e monitoramento do tipo e do estado do dock</a>.</p>
    584         <p>Isto pode mudar durante a vida til do aplicativo se o usurio colocar o dispositivo
    585 em um dock.  possvel ativar ou desativar alguns desses modos usando {@link
    586 android.app.UiModeManager}. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    587 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    588       </td>
    589     </tr>
    590     <tr id="NightQualifier">
    591       <td>Modo noturno</td>
    592       <td>
    593         <code>night</code><br/>
    594         <code>notnight</code>
    595       </td>
    596       <td>
    597         <ul class="nolist">
    598           <li>{@code night}: Noite</li>
    599           <li>{@code notnight}: Dia</li>
    600         </ul>
    601         <p><em>Adicionado  API de nvel 8.</em></p>
    602         <p>Isto pode mudar durante a vida til do aplicativo se o modo noturno for deixado
    603 no modo automtico (padro), em que o modo altera-se com base no horrio.   possvel ativar
    604 ou desativar este modo usando {@link android.app.UiModeManager}. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    605 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    606       </td>
    607     </tr>
    608     <tr id="DensityQualifier">
    609       <td>Densidade de pixel da tela (dpi)</td>
    610       <td>
    611         <code>ldpi</code><br/>
    612         <code>mdpi</code><br/>
    613         <code>hdpi</code><br/>
    614         <code>xhdpi</code><br/>
    615         <code>xxhdpi</code><br/>
    616         <code>xxxhdpi</code><br/>
    617         <code>nodpi</code><br/>
    618         <code>tvdpi</code>
    619       </td>
    620       <td>
    621         <ul class="nolist">
    622           <li>{@code ldpi}: Telas de pouca densidade, aproximadamente 120 dpi.</li>
    623           <li>{@code mdpi}: Telas de mdia densidade (em HVGA tradicional); aproximadamente
    624 160 dpi.</li>
    625           <li>{@code hdpi}: Telas de alta densidade, aproximadamente 240 dpi.</li>
    626           <li>{@code xhdpi}: Telas de densidade extra-alta, aproximadamente 320 dpi. <em>Adicionado  API de
    627 nvel 8</em></li>
    628           <li>{@code xxhdpi}: Telas de densidade extra-extra-alta, aproximadamente 480 dpi. <em>Adicionado  API de
    629 nvel 16</em></li>
    630           <li>{@code xxxhdpi}: Usos de densidade extra-extra-extra-alta (somente cone do inicializador, consulte a 
    631             <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">observao</a> 
    632             em <em>Compatibilidade com vrias telas</em>), aproximadamente 640 dpi. <em>Adicionado  API de
    633 nvel 18</em></li>
    634           <li>{@code nodpi}: Isto pode ser usado para recursos de bitmap que voc no deseja dimensionar
    635 para corresponder  densidade do dispositivo.</li>
    636           <li>{@code tvdpi}: Telas entre mdpi e hdpi, aproximadamente 213 dpi. No  considerado
    637 um grupo de densidade "principal". Geralmente usado para televises
    638 e a maioria dos aplicativos no precisam &mdash; fornecer recursos mdpi e hdpi  o suficiente para a maioria dos aplicativos
    639 e o sistema dimensionar de forma adequada. Este qualificador foi introduzido com a API de nvel 13.</li>
    640         </ul>
    641         <p>H uma razo de dimensionamento de 3:4:6:8:12:16 entre as seis densidades principais (ignorando
    642 a densidade tvdpi). Ento, um bitmap de 9 x 9 em ldpi  12 x 12 em mdpi, 18 x 18 em hdpi, 24 x 24 em xhdpi e por a em diante.
    643 </p>
    644         <p>Caso decida que os recursos de imagem no parecem suficientemente bons para uma televiso
    645 ou outros dispositivos e queira testar recursos tvdpi, o fator de dimensionamento  1,33*mdpi. Por exemplo:
    646 uma imagem de 100 px x 100 px para telas mdpi deve ser de 133 px x 133 px para tvdpi.</p>
    647         <p class="note"><strong>Observao:</strong> usar um qualificador de densidade no significa
    648 que os recursos sejam <em>apenas</em> para telas desta densidade. Caso no fornea recursos
    649 alternativos com qualificadores que melhor correspondem  configurao atual do dispositivo, o sistema poder usar
    650 quaisquer recursos que representarem a <a href="#BestMatch">melhor correspondncia</a>.</p>
    651         <p>Consulte <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
    652 vrias telas</a> para obter mais informaes sobre como lidar com as diferentes densidades de tela e como o Android
    653 pode dimensionar os bitmaps para encaix-los na densidade atual.</p>
    654        </td>
    655     </tr>
    656     <tr id="TouchscreenQualifier">
    657       <td>Tipo de tela sensvel ao toque</td>
    658       <td>
    659         <code>notouch</code><br/>
    660         <code>finger</code>
    661       </td>
    662       <td>
    663         <ul class="nolist">
    664           <li>{@code notouch}: Os dispositivos no tm uma tela sensvel ao toque.</li>
    665           <li>{@code finger}: O dispositivo tem uma tela sensvel ao toque que destina-se
    666            interao direcional do dedo do usurio.</li>
    667         </ul>
    668         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#touchscreen},
    669 que indica o tipo de tela sensvel ao toque no dispositivo.</p>
    670       </td>
    671     </tr>
    672     <tr id="KeyboardAvailQualifier">
    673       <td>Disponibilidade de teclado</td>
    674       <td>
    675         <code>keysexposed</code><br/>
    676         <code>keyshidden</code><br/>
    677         <code>keyssoft</code>
    678       </td>
    679       <td>
    680         <ul class="nolist">
    681           <li>{@code keysexposed}: O dispositivo tem um teclado disponvel. Se o dispositivo tiver um teclado de software
    682 ativo (o que  provvel), ele deve ser usado mesmo quando o teclado de hardware
    683 <em>no</em> estiver exposto ao usurio, mesmo se o dispositivo no tiver teclado de hardware. Caso nenhum teclado de software
    684 seja fornecido ou esteja desativado, ento isto ser usado apenas quando um teclado de hardware
    685 for exposto.</li>
    686           <li>{@code keyshidden}: O dispositivo tem um teclado de hardware disponvel,
    687 mas est oculto <em>e</em> o dispositivo <em>no</em> tem um teclado de software ativo.</li>
    688           <li>{@code keyssoft}: O dispositivo tem um teclado de software ativo,
    689 visvel ou no.</li>
    690         </ul>
    691         <p>Se voc fornecer os recursos <code>keysexposed</code>, mas no os recursos <code>keyssoft</code>,
    692  o sistema usar os recursos <code>keysexposed</code> independente da visibilidade
    693 do teclado, contanto que o sistema tenha um teclado de software ativo.</p>
    694         <p>Isto pode mudar durante a vida til do aplicativo se o usurio abrir um teclado
    695 de hardware. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    696 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    697         <p>Veja tambm os campos de configurao {@link
    698 android.content.res.Configuration#hardKeyboardHidden} e {@link
    699 android.content.res.Configuration#keyboardHidden}, que indicam a visibilidade de um teclado de hardware
    700 e a visibilidade de qualquer tipo de teclado (incluindo software), respectivamente.</p>
    701       </td>
    702     </tr>
    703     <tr id="ImeQualifier">
    704       <td>Mtodo principal de entrada de texto</td>
    705       <td>
    706         <code>nokeys</code><br/>
    707         <code>qwerty</code><br/>
    708         <code>12key</code>
    709       </td>
    710       <td>
    711         <ul class="nolist">
    712           <li>{@code nokeys}: O dispositivo no tem teclas de hardware para entradas de texto.</li>
    713           <li>{@code qwerty}: O dispositivo tem um teclado QWERTY de hardware, esteja ele visvel ao
    714 usurio
    715 ou no.</li>
    716           <li>{@code 12key}: O dispositivo tem um teclado de hardware de 12 teclas, esteja ele visvel ao usurio
    717 ou no.</li>
    718         </ul>
    719         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#keyboard},
    720 que indica o mtodo de entrada de texto principal disponvel.</p>
    721       </td>
    722     </tr>
    723     <tr id="NavAvailQualifier">
    724       <td>Disponibilidade da chave de navegao</td>
    725       <td>
    726         <code>navexposed</code><br/>
    727         <code>navhidden</code>
    728       </td>
    729       <td>
    730         <ul class="nolist">
    731           <li>{@code navexposed}: As teclas de navegao esto disponveis para o usurio.</li>
    732           <li>{@code navhidden}: As teclas de navegao no esto disponveis (como as que ficam atrs
    733 de uma tampa fechada).</li>
    734         </ul>
    735         <p>Isto pode mudar durante a vida til do aplicativo se o usurio revelar
    736 as teclas de navegao. Consulte <a href="runtime-changes.html">Tratamento de alteraes em tempo de execuo</a> para obter informaes
    737 sobre como isto pode afetar o aplicativo em tempo de execuo.</p>
    738         <p>Consulte tambm o campo de configurao {@link android.content.res.Configuration#navigationHidden},
    739 que indica se as teclas de navegao esto ocultas.</p>
    740       </td>
    741     </tr>
    742     <tr id="NavigationQualifier">
    743       <td>Mtodo principal de navegao sem toque</td>
    744       <td>
    745         <code>nonav</code><br/>
    746         <code>dpad</code><br/>
    747         <code>trackball</code><br/>
    748         <code>wheel</code>
    749       </td>
    750       <td>
    751         <ul class="nolist">
    752           <li>{@code nonav}: O dispositivo no tem recursos de navegao alm
    753 da tela sensvel ao toque.</li>
    754           <li>{@code dpad}: O dispositivo tem um teclado direcional (d-pad) para navegao.</li>
    755           <li>{@code trackball}: O dispositivo tem um cursor de bola para navegao.</li>
    756           <li>{@code wheel}: O dispositivo tem rodas direcionais para navegao (incomum).</li>
    757         </ul>
    758         <p>Veja tambm o campo de configurao {@link android.content.res.Configuration#navigation},
    759 que indica o tipo de mtodo de navegao disponvel.</p>
    760       </td>
    761     </tr>
    762 <!-- DEPRECATED
    763     <tr>
    764       <td>Screen dimensions</td>
    765       <td>Examples:<br/>
    766         <code>320x240</code><br/>
    767         <code>640x480</code><br/>
    768         etc.
    769       </td>
    770       <td>
    771         <p>The larger dimension must be specified first. <strong>This configuration is deprecated
    772 and should not be used</strong>. Instead use "screen size," "wider/taller screens," and "screen
    773 orientation" described above.</p>
    774       </td>
    775     </tr>
    776 -->
    777     <tr id="VersionQualifier">
    778       <td>Verso da plataforma (nvel de API)</td>
    779       <td>Exemplos:<br/>
    780         <code>v3</code><br/>
    781         <code>v4</code><br/>
    782         <code>v7</code><br/>
    783         etc.</td>
    784       <td>
    785         <p>O nvel de API suportado pelo dispositivo. Por exemplo, <code>v1</code> para a API de nvel 1
    786 (dispositivos com Android 1.0 ou mais recente) e <code>v4</code> para API de nvel 4 (dispositivos com Android
    787 1.6 ou mais recente). Veja o documento <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Nveis de API do Android</a> para obter mais informaes
    788 sobre esses valores.</p>
    789       </td>
    790     </tr>
    791 </table>
    792 
    793 
    794 <p class="note"><strong>Observao:</strong> alguns qualificadores de configurao foram adicionados desde o Android 1.0,
    795  ento nem todas as verses do Android suportam todos eles. Usar um novo qualificador
    796 adiciona implicitamente um qualificador da verso de plataforma, ento dispositivos mais antigos com certeza o ignoraro. Por exemplo, usar
    797 um qualificador <code>w600dp</code> incluir automaticamente o qualificador <code>v13</code>,
    798 pois o qualificador de largura disponvel era novo na API de nvel 13. Para evitar quaisquer problemas, sempre inclua um conjunto
    799 de recursos padro (um conjunto de recursos <em>sem qualificadores</em>). Para obter mais informaes, consulte
    800 a seo <a href="#Compatibility">Fornecimento da melhor compatibilidade de dispositivo com
    801 recursos</a>.</p>
    802 
    803 
    804 
    805 <h3 id="QualifierRules">Regras de nome do qualificador</h3>
    806 
    807 <p>A seguir h algumas regras sobre como usar nomes de qualificador de configurao:</p>
    808 
    809 <ul>
    810     <li> possvel especificar vrios qualificadores para um nico conjunto de recursos, separados por travesses. Por exemplo,
    811 <code>drawable-en-rUS-land</code> aplica-se aos dispositivos em ingls dos E.U.A.
    812 na orientao de paisagem.</li>
    813     <li>Os qualificador devem estar na ordem listada na <a href="#table2">tabela 2</a>. Por
    814 exemplo:
    815       <ul>
    816         <li>Incorreto: <code>drawable-hdpi-port/</code></li>
    817         <li>Correto: <code>drawable-port-hdpi/</code></li>
    818       </ul>
    819     </li>
    820     <li>Os diretrios de recursos alternativos no podem ser aninhados. Por exemplo, no  possvel ter
    821 <code>res/drawable/drawable-en/</code>.</li>
    822     <li>Os valores no diferenciam letras maisculas e minsculas.  O compilador de recursos converte nomes de diretrio
    823     para letras minsculas antes de processar para evitar problemas nos sistemas de arquivo
    824     que no diferenciam maisculas e minsculas. Qualquer letra maiscula nos nomes  apenas para o benefcio da leitura.</li>
    825     <li>Somente um valor para cada tipo de qualificador  suportado. Por exemplo, se quiser usar
    826 os mesmos arquivos desenhveis para Espanha e Frana, <em>no</em>  possvel ter um diretrio chamado 
    827 <code>drawable-rES-rFR/</code>. Em vez disso, voc precisa de dois diretrios de recursos, como
    828 <code>drawable-rES/</code> e <code>drawable-rFR/</code>, que contenham arquivos adequados.
    829 No entanto, no  necessrio duplicar os mesmos arquivos em ambos os locais. Em vez disso,
    830  possvel criar um alias para um recurso. Consulte <a href="#AliasResources">Criao de recursos
    831 de alias</a> abaixo.</li>
    832 </ul>
    833 
    834 <p>Aps salvar os recursos alternativos nos diretrios nomeados
    835 com esses qualificadores, o Android aplicar automaticamente os recursos no aplicativo com base
    836 na configurao atual do dispositivo. Sempre que um recurso for solicitado, o Android verificar diretrios de recursos alternativos
    837 que contenham o arquivo de recurso solicitado e, em seguida,<a href="#BestMatch">encontrar o melhor
    838 recurso correspondente</a> (discutido abaixo). Se no houver recursos alternativos que correspondam
    839 a uma configurao de dispositivo especfica, o Android usar os recursos padro correspondentes
    840 (o conjunto de recursos para um tipo de recurso especfico que no inclua um qualificador
    841 de configurao).</p>
    842 
    843 
    844 
    845 <h3 id="AliasResources">Criao de recursos de alias</h3>
    846 
    847 <p>Quando estiver com um recurso que gostaria de usar para mais
    848 de uma configurao de dispositivo, mas no quer fornec-lo como um recurso padro), no ser necessrio usar o mesmo
    849 recurso em mais de um diretrio de recursos alternativos. Em vez disso,  possvel (em alguns casos) criar um
    850 recurso
    851 alternativo que age como um alias para um recurso salvo no diretrio de recurso padro.</p>
    852 
    853 <p class="note"><strong>Observao:</strong> nem todos os recursos oferecem um mecanismo que possibilita
    854 criar um alias para outro recurso. Em particular, recursos de animao, de menu, brutos
    855 e de outros tipos no diretrio {@code xml/} no oferecem esta funo.</p>
    856 
    857 <p>Por exemplo, imagine que voc possui um cone do aplicativo, {@code icon.png}, e precisa da verso exclusiva
    858 para diferentes localidades. No entanto, duas localidades, ingls canadense e francs canadense,
    859 precisam usar a mesma verso. Voc pode presumir que precisa copiar a mesma imagem
    860 para o diretrio do recurso do ingls canadense e do francs canadense,
    861 mas no  verdade. Em vez disso,  possvel salvar a imagem que  usada para ambos como {@code icon_ca.png} (qualquer
    862 nome que no seja {@code icon.png}) e coloc-la
    863 no diretrio {@code res/drawable/} padro. Em seguida, crie um arquivo {@code icon.xml} em {@code
    864 res/drawable-en-rCA/} e em {@code res/drawable-fr-rCA/} que mencione o recurso {@code icon_ca.png}
    865 usando o elemento {@code &lt;bitmap&gt;}. Isto permite que voc armazene apenas uma verso do arquivo
    866 PNG e dois arquivos XML pequenos que apontam para ele. (Um exemplo de arquivo XML  exibido abaixo)</p>
    867 
    868 
    869 <h4>Desenhvel</h4>
    870 
    871 <p>Para criar um alias para um desenhvel existente, use o elemento {@code &lt;bitmap&gt;}.
    872 Por exemplo:</p>
    873 
    874 <pre>
    875 &lt;?xml version="1.0" encoding="utf-8"?>
    876 &lt;bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    877     android:src="@drawable/icon_ca" />
    878 </pre>
    879 
    880 <p>Se salvar esse arquivo como {@code icon.xml} (em um diretrio de recursos alternativos,
    881 como {@code res/drawable-en-rCA/}), ele ser compilado em um recurso
    882 que pode ser mencionado como {@code R.drawable.icon}, mas  um alias para o recurso {@code
    883 R.drawable.icon_ca}, que  salvo em{@code res/drawable/}.</p>
    884 
    885 
    886 <h4>Layout</h4>
    887 
    888 <p>Para criar um alias para um layout existente, use o elemento {@code &lt;include&gt;}
    889 , agrupado em um {@code &lt;merge&gt;}. Por exemplo:</p>
    890 
    891 <pre>
    892 &lt;?xml version="1.0" encoding="utf-8"?>
    893 &lt;merge>
    894     &lt;include layout="@layout/main_ltr"/>
    895 &lt;/merge>
    896 </pre>
    897 
    898 <p>Se salvar esse arquivo como {@code main.xml}, ele ser compilado em um recurso
    899 que pode ser mencionado como {@code R.layout.main}, mas  um alias para o recurso {@code R.layout.main_ltr}
    900 .</p>
    901 
    902 
    903 <h4>Strings e outros valores simples</h4>
    904 
    905 <p>Para criar um alias para uma string existente, basta usar o ID de recurso da string
    906 desejado como o valor para a nova string. Por exemplo:</p>
    907 
    908 <pre>
    909 &lt;?xml version="1.0" encoding="utf-8"?>
    910 &lt;resources>
    911     &lt;string name="hello">Hello&lt;/string>
    912     &lt;string name="hi">@string/hello&lt;/string>
    913 &lt;/resources>
    914 </pre>
    915 
    916 <p>O recurso {@code R.string.hi}  agora um alias para {@code R.string.hello}.</p>
    917 
    918 <p> <a href="{@docRoot}guide/topics/resources/more-resources.html">Outros valores simples</a> funcionam
    919 da mesma forma. Por exemplo, uma cor:</p>
    920 
    921 <pre>
    922 &lt;?xml version="1.0" encoding="utf-8"?>
    923 &lt;resources>
    924     &lt;color name="yellow">#f00&lt;/color>
    925     &lt;color name="highlight">@color/red&lt;/color>
    926 &lt;/resources>
    927 </pre>
    928 
    929 
    930 
    931 
    932 <h2 id="Compatibility">Fornecimento da melhor compatibilidade de dispositivo com recursos</h2>
    933 
    934 <p>Para o aplicativo suportar vrias configuraes de dispositivo,  muito importante
    935 que voc sempre fornea recursos padro para cada tipo de recurso que o aplicativo usar.</p>
    936 
    937 <p>Por exemplo, se o aplicativo suportar vrios idiomas, sempre inclua um diretrio {@code
    938 values/} (em que as strings sejam salvas) <em>sem</em> um <a href="#LocaleQualifier">qualificador de regio e idioma</a>. Se colocar todos os arquivos de string
    939 em diretrios que tm qualificadores de regio e idioma, o aplicativo apresentar erros ao entrar em execuo
    940 em dispositivo configurado para um idioma que as strings no suportem. Mas, contanto que voc fornea recursos
    941 {@code values/} padro, o aplicativo ser executado sem problemas (mesmo que o usurio
    942 no entenda o idioma &mdash;  melhor do que apresentar erros).</p>
    943 
    944 <p>Do mesmo modo, se voc fornecer recursos de layout diferentes com base na orientao da tela, deve
    945 escolher uma orientao como a padro. Por exemplo, em vez de fornecer recursos de layout em {@code
    946 layout-land/} para paisagem e {@code layout-port/} para retrato, deixe uma como padro, como
    947 {@code layout/} para paisagem e {@code layout-port/} para retrato.</p>
    948 
    949 <p>Fornecer recursos padro  importante no s porque o aplicativo pode ser executado
    950 em uma configurao que voc no tenha antecipado, mas tambm as novas verses do Android, s vezes, adicionam
    951 qualificadores de configurao que as verses mais antigas no suportam. Se usar um novo qualificador de recurso,
    952 mas mantiver a compatibilidade do cdigo com verses mais antigas do Android, quando uma verso mais antiga
    953 do Android executar seu aplicativo, ocorrer um erro caso voc no fornea os recursos padro, pois ele
    954 no poder usar os recursos nomeados com o novo qualificador. Por exemplo, se <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
    955 minSdkVersion}</a> estiver definido como 4 e voc qualificar todos os recursos desenhveis usando o <a href="#NightQualifier">modo noturno</a> ({@code night} ou {@code notnight}, que foram adicionados  API de nvel 8),
    956 ento o dispositivo com API de nvel 4 no poder acessar os recursos desenhveis e apresentar erro. Neste caso,
    957 voc provavelmente querer que {@code notnight} seja o recurso padro, ento dever excluir esse qualificador
    958 para que os recursos desenhveis fiquem em {@code drawable/} ou {@code drawable-night/}.</p>
    959 
    960 <p>Ento, para fornecer a melhor compatibilidade de dispositivo, sempre fornea os recursos
    961 padro para os recursos imprescindveis para o aplicativo para obter o desempenho adequado. Em seguida,
    962 crie recursos para configuraes especficas de dispositivo usando os qualificadores de configurao.</p>
    963 
    964 <p>H uma exceo a esta regra: Se a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> do aplicativo for 4
    965 ou maior, voc <em>no</em> precisar de recursos desenhveis padro ao fornecer recursos desenhveis alternativos
    966 com o qualificador de <a href="#DensityQualifier">densidade da tela</a>. Mesmo sem os recursos desenhveis
    967 padro, o Android poder encontrar a melhor correspondncia dentre as densidades de tela alternativas e dimensionar
    968 os bitmaps conforme necessrio. No entanto, para obter a melhor experincia em todos os tipos de dispositivo,
    969 voc deve fornecer desenhveis alternativos para todos os trs tipos de densidade.</p>
    970 
    971 
    972 
    973 <h2 id="BestMatch">Como o Android encontra o melhor recurso correspondente</h2>
    974 
    975 <p>Ao solicitar um recurso para o qual voc fornece alternativas, o Android seleciona
    976 quais recursos alternativos usar em tempo de execuo, dependendo da configurao do dispositivo atual. Para demonstrar
    977 como o Android seleciona um recurso alternativo, presuma que os seguintes diretrios desenhveis
    978 contenham verses diferentes das mesmas imagens:</p>
    979 
    980 <pre class="classic no-pretty-print">
    981 drawable/
    982 drawable-en/
    983 drawable-fr-rCA/
    984 drawable-en-port/
    985 drawable-en-notouch-12key/
    986 drawable-port-ldpi/
    987 drawable-port-notouch-12key/
    988 </pre>
    989 
    990 <p>E presuma que a configurao do dispositivo  a seguinte:</p>
    991 
    992 <p style="margin-left:1em;">
    993 Localidade = <code>en-GB</code> <br/>
    994 Orientao da tela = <code>port</code> <br/>
    995 Densidade de pixel da tela = <code>hdpi</code> <br/>
    996 Tipo de tela sensvel ao toque = <code>notouch</code> <br/>
    997 Mtodo principal de entrada de texto = <code>12key</code>
    998 </p>
    999 
   1000 <p>Ao comparar a configurao do dispositivo com os recursos alternativos disponveis, o Android seleciona
   1001 desenhveis de {@code drawable-en-port}.</p>
   1002 
   1003 <p>O sistema chega  concluso de quais recursos deve usar
   1004 com a seguinte lgica:</p>
   1005 
   1006 
   1007 <div class="figure" style="width:371px">
   1008 <img src="{@docRoot}images/resources/res-selection-flowchart.png" alt="" height="471" />
   1009 <p class="img-caption"><strong>Figura 2.</strong> Fluxograma de como o Android
   1010 encontra o melhor recurso correspondente.</p>
   1011 </div>
   1012 
   1013 
   1014 <ol>
   1015   <li>Elimine os arquivos de recurso que contradizem a configurao do dispositivo.
   1016     <p>O diretrio <code>drawable-fr-rCA/</code>  eliminado,
   1017 pois contradiz a localidade <code>en-GB</code>.</p>
   1018 <pre class="classic no-pretty-print">
   1019 drawable/
   1020 drawable-en/
   1021 <strike>drawable-fr-rCA/</strike>
   1022 drawable-en-port/
   1023 drawable-en-notouch-12key/
   1024 drawable-port-ldpi/
   1025 drawable-port-notouch-12key/
   1026 </pre>
   1027 <p class="note"><strong>Exceo:</strong> a densidade de pixel da tela  a que o qualificador
   1028 no eliminou devido a uma contradio. Apesar de a densidade da tela do dispositivo ser hdpi,
   1029 <code>drawable-port-ldpi/</code> no  eliminado, pois todas as densidades de telas
   1030 so consideradas uma correspondncia neste ponto. Obtenha mais informaes no documento <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
   1031 vrias telas</a>.</p></li>
   1032 
   1033   <li>Escolha o (prximo) qualificador de maior precedncia na lista (<a href="#table2">tabela 2</a>).
   1034 (Comece com MCC e, em seguida, siga para baixo.) </li>
   1035   <li>Algum dos diretrios de recurso incluem este qualificador?  </li>
   1036     <ul>
   1037       <li>Se no, volte  etapa 2 e veja o prximo qualificador. (Neste exemplo,
   1038   a resposta  "no" at que o qualificador de idioma seja alcanado.)</li>
   1039       <li>Se sim, prossiga para a etapa 4.</li>
   1040     </ul>
   1041   </li>
   1042 
   1043   <li>Elimine os diretrios de recurso que no incluem este qualificador. No exemplo, o sistema
   1044 elimina todos os diretrios que no incluem um qualificador de idioma:</li>
   1045 <pre class="classic no-pretty-print">
   1046 <strike>drawable/</strike>
   1047 drawable-en/
   1048 drawable-en-port/
   1049 drawable-en-notouch-12key/
   1050 <strike>drawable-port-ldpi/</strike>
   1051 <strike>drawable-port-notouch-12key/</strike>
   1052 </pre>
   1053 <p class="note"><strong>Exceo:</strong> se o qualificador em questo for a densidade de pixel da tensidade da tela
   1054 do dispositivo de forma mais aproximada.
   1055 Geralmente, o Androidprefere dimensionar uma imagem original maior
   1056 em vez de uma maior. Consulte <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
   1057 vrias telas</a>.</p>
   1058   </li>
   1059 
   1060   <li>Volte e repita as etapas 2, 3 e 4 at que reste apenas um diretrio. No exemplo, a orientao da tela
   1061  o prximo qualificador, onde h vrias correspondncias.
   1062 Portanto, os recursos que no especificarem uma orientao de tela sero eliminados:
   1063 <pre class="classic no-pretty-print">
   1064 <strike>drawable-en/</strike>
   1065 drawable-en-port/
   1066 <strike>drawable-en-notouch-12key/</strike>
   1067 </pre>
   1068 <p>O diretrio restante  {@code drawable-en-port}.</p>
   1069   </li>
   1070 </ol>
   1071 
   1072 <p>Apesar de este processo ser executado para cada recurso solicitado, o sistema posteriormente aprimora
   1073 alguns aspectos. Tal otimizao, quando a configurao do dispositivo  conhecida,
   1074 pode eliminar os recursos alternativos que nunca correspondem. Por exemplo, se o idioma
   1075 da configurao for ingls ("en"), ento qualquer diretrio de recurso que tiver um qualificador de idioma definido para
   1076 outro idioma que no seja ingls nunca ser includo no conjunto de recursos verificados (apesar de um
   1077 diretrio de recursos <em>sem</em> o qualificador de idioma ainda ser includo).</p>
   1078 
   1079 <p>Ao selecionar os recursos com base nos qualificadores de tamanho da tela, o sistema usar os recursos
   1080 projetados para uma tela menor do que a tela atual, caso no tenha recursos que correspondam de forma mais eficaz
   1081 (por exemplo: uma tela de tamanho grande usar os recursos de tela de tamanho normal se necessrio). No entanto,
   1082 se os nicos recursos disponveis forem <em>maiores</em> do que a tela atual, o sistema
   1083 <strong>no</strong> os usar e o aplicativo apresentar erros se nenhum outro recurso corresponder  configurao
   1084 do dispositivo (por exemplo, se todos os recursos de layout estiverem com a tag do qualificador {@code xlarge},
   1085 mas o dispositivo tiver uma tela de tamanho normal).</p>
   1086 
   1087 <p class="note"><strong>Observao:</strong> a <em>precedncia</em> do qualificador (na <a href="#table2">tabela 2</a>)  mais importante
   1088 do que o nmero de qualificadores que correspondem exatamente ao dispositivo. Por exemplo, na etapa 4 acima, a ltima
   1089 escolha na lista inclui trs qualificadores que correspondem exatamente ao dispositivo (orientao, tipo de
   1090 tela sensvel ao toque e mtodo de entrada), enquanto que <code>drawable-en</code> possui apenas um parmetro que corresponde
   1091 (idioma). No entanto, o idioma tem uma precedncia maior que esses outros qualificadores, ento 
   1092 <code>drawable-port-notouch-12key</code> est fora.</p>
   1093 
   1094 <p>Para obter mais informaes sobre como usar os recursos no aplicativo, acesse <a href="accessing-resources.html">Acesso aos recursos</a>.</p>
   1095