Home | History | Annotate | Download | only in multiscreen
      1 page.title=Cmo admitir varias densidades de pantalla
      2 parent.title=Cmo disear aplicaciones para varias pantallas
      3 parent.link=index.html
      4 
      5 trainingnavtop=true
      6 previous.title=Cmo admitir varios tamaos de pantalla
      7 previous.link=screensizes.html
      8 next.title=Cmo implementar interfaces de usuario adaptables
      9 next.link=adaptui.html
     10 
     11 @jd:body
     12 
     13 
     14 <!-- This is the training bar -->
     15 <div id="tb-wrapper"> 
     16 <div id="tb"> 
     17 
     18 <h2>En esta seccin puedes aprender:</h2>
     19 <ol>
     20   <li><a href="#TaskUseDP">Cmo utilizar pxeles independientes de la densidad</a></li>
     21   <li><a href="#TaskProvideAltBmp">Cmo proporcionar mapas de bits alternativos</a></li>
     22 </ol>
     23 
     24 <h2>Tambin puedes consultar:</h2>
     25 
     26 <ul>
     27   <li><a href="{@docRoot}guide/practices/screens_support.html">Cmo admitir varias pantallas</a></li>
     28   <li><a href="{@docRoot}guide/practices/ui_guidelines/icon_design.html">Directrices para disear iconos</a></li>
     29 </ul>
     30 
     31 <h2>Prubalo!</h2>
     32  
     33 <div class="download-box"> 
     34 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Descargar la aplicacin de ejemplo</a>
     35 <p class="filename">NewsReader.zip</p> 
     36 </div> 
     37  
     38  
     39 </div> 
     40 </div> 
     41 
     42 <p>En esta seccin se explica cmo proporcionar diferentes recursos y utilizar unidades de medida de resolucin independiente para admitir diferentes densidades de pantalla.</p>
     43 
     44 <h2 id="TaskUseDP">Cmo utilizar pxeles independientes de la densidad</h2>
     45 
     46 <p>Un error comn que debes evitar al crear tus diseos es utilizar pxeles absolutos para definir distancias o tamaos. Definir dimensiones de diseo mediante pxeles es problemtico porque cada pantalla tiene densidades de pxeles diferentes, por lo que es posible que el mismo nmero de pxeles corresponda a varios tamaos fsicos en distintos dispositivos. Por tanto, al especificar dimensiones, debes utilizar siempre unidades <code>dp</code> o <code>sp</code>. <code>dp</code> es un pxel independiente de la densidad que corresponde al tamao fsico de un pxel a 160 dpi. <code>sp</code> es la misma unidad de base, pero aumentada en funcin del tamao de letra preferido por el usuario (se trata de un pxel independiente de la escala). Por tanto, debes utilizar esta unidad de medida para definir el tamao de letra (pero no para tamaos de diseos).</p>
     47 
     48 <p>Por ejemplo, al especificar un espacio entre dos vistas, debes utilizar <code>dp</code> en lugar de <code>px</code>:</p>
     49 
     50 <pre>
     51 &lt;Button android:layout_width="wrap_content" 
     52     android:layout_height="wrap_content" 
     53     android:text="&#64;string/clickme"
     54     android:layout_marginTop="20dp" /&gt;
     55 </pre>
     56 
     57 <p>Al especificar el tamao de letra, debes usar siempre <code>sp</code>:</p>
     58 
     59 <pre>
     60 &lt;TextView android:layout_width="match_parent" 
     61     android:layout_height="wrap_content" 
     62     android:textSize="20sp" /&gt;
     63 </pre>
     64 
     65 
     66 <h2 id="TaskProvideAltBmp">Cmo proporcionar mapas de bits alternativos</h2>
     67 
     68 <p>Dado que Android se ejecuta en dispositivos con diferentes densidades de pantalla, siempre debes proporcionar tus recursos de mapas de bits adaptados a los conjuntos de densidades generalizados: baja, media, alta y muy alta. De este modo, podrs conseguir un rendimiento y una calidad grfica ptimos en todas las densidades de pantalla.</p>
     69 
     70 <p>Para generar estas imgenes, debes empezar con tu recurso genrico en formato vectorial y generar las imgenes para cada densidad con la siguiente escala de tamaos:</p>
     71 
     72 <p><ul>
     73   <li><code>xhdpi</code>: 2,0
     74   <li><code>hdpi</code>: 1,5
     75   <li><code>mdpi</code>: 1.0 (base)
     76   <li><code>ldpi</code>: 0,75
     77 </ul></p>
     78 
     79 <p>Esto significa que si generas una imagen de 200 x 200 para dispositivos <code>xhdpi</code>, debes generar el mismo recurso en 150 x 150 para <code>hdpi</code>, en 100 x 100 para <code>mdpi</code> y, por ltimo, una imagen de 75 x 75 para dispositivos <code>ldpi</code>.</p>
     80 
     81 <p>A continuacin, sita los archivos de imagen generados en el subdirectorio adecuado en <code>res/</code> y el sistema seleccionar el archivo correspondiente automticamente en funcin de la densidad de la pantalla del dispositivo en el que se est ejecutando la aplicacin:</p>
     82 
     83 <pre class="classic no-pretty-print">
     84 MyProject/
     85   res/
     86     drawable-xhdpi/
     87         awesomeimage.png
     88     drawable-hdpi/
     89         awesomeimage.png
     90     drawable-mdpi/
     91         awesomeimage.png
     92     drawable-ldpi/
     93         awesomeimage.png
     94 </pre>
     95 
     96 <p>Por tanto, cada vez que hagas referencia a <code>&#64;drawable/awesomeimage</code>, el sistema seleccionar el mapa de bits adecuado en funcin de los puntos por pulgada de la pantalla.</p>
     97 
     98 <p>Para consultar ms sugerencias y directrices sobre cmo crear recursos de iconos para tu aplicacin, consulta la seccin <a
     99 href="{@docRoot}guide/practices/ui_guidelines/icon_design.html">Directrices para disear iconos</a>.</p>
    100 
    101