Creación de aplicaciones de soporte multipantalla Android

Estoy creando una aplicación en Android que debe admitir varias pantallas.

Para este propósito he leído muchas respuestas y una de las que más me gusta es que puedo crear diferentes carpetas en la carpeta res siguiendo el nombre,

Para pantallas pequeñas , pequeñas ,

Para pantallas grandes , grandes ,

Para pantallas extra grandes maquetación-xlarge

y tengo que crear diferentes diseños para diferentes pantallas con el mismo nombre. por ejemplo, mylayout.xml

y tengo que poner el siguiente código en el archivo manifest.xml

 

y finalmente solo necesito escribir las siguientes líneas en mi archivo de actividad,

  setContentView(R.layout.mylayout); 

Ahora, cuando ejecuto esta aplicación en pantallas de diferentes tamaños, debe adquirir diseños de diferentes carpetas según la resolución de pantalla.

Pero esto no está sucediendo en mi caso. Solo se necesita el diseño definido en la carpeta de diseño .

Por favor, alguien puede explicarme por qué sucede esto y cómo puedo resolver este problema para que mi aplicación pueda ejecutarse de manera efectiva en todas las pantallas de tamaño.

Prueba como:

  • layout-sw320dp
  • layout-sw480dp
  • layout-sw600dp
  • layout-sw720dp

en lugar de

  • diseño pequeño,
  • diseño-grande, etc.

Por favor, consulte el siguiente enlace:

http://developer.android.com/guide/practices/screens_support.html Para el tamaño de pantalla diferente, la siguiente es una lista de directorios de recursos en una aplicación que proporciona diferentes diseños de diseño para diferentes tamaños de pantalla y diferentes tipos de mapas de bits para pequeñas, medianas , alta, y pantallas de alta densidad extra. podría usar diferentes tamaños de los archivos de diseño en la carpeta res y también variar para imágenes dibujables basadas en la densidad.

  res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

enter image description here res / drawable-mdpi / my_icon.png // bitmap para densidad media res / drawable-hdpi / my_icon.png // bitmap para alta densidad res / drawable-xhdpi / my_icon.png // bitmap para densidad extra alta

       

Y seguido de cualquier actividad use estas líneas …

android: configChanges = “orientation | screenSize | keyboardHidden”

En la convención de nomenclatura de valores de la carpeta, como layout-small solo funciona para dispositivos con una api version less than 3.1 . Debe crear un archivo de valores con nombres como layout-sw600dp para un nivel de API superior a 3.1. lea esto http://developer.android.com/guide/practices/screens_support.html3.1api

enter image description here así debería crear layout-sw600dp, layout-sw720dp para cada tipo de dispositivo. layout-sw600dp significa que este diseño funciona para dispositivos con un ancho mínimo de 600dp. Si tiene carpetas layout-600dp y layout-sw720dp. la primera carpeta de diseño funciona para dispositivos con un ancho mínimo de 600 pd (tableta de 7 pulgadas) a 720 pb y la segunda funciona para dispositivos con un ancho mínimo superior a 720 pb (tableta de 10 pulgadas).

Si su versión mínima requerida es superior a 3.1, no necesita tener las carpetas layout-small, layoutxLarge. de lo contrario, debe tener en cuenta ambos tipos de formatos de diseño.

Aquí hay una lista de verificación rápida sobre cómo puede asegurarse de que su aplicación se muestre correctamente en diferentes pantallas:

Utilice las wrap_content, fill_parent, o dp cuando especifique dimensiones en un archivo de diseño XML. No use valores de pixel codificados en su código de aplicación (archivos .java ). No use AbsoluteLayout (está desaprobado en Android 1.5 ). En su lugar, debe usar RelativeLayout , que utiliza el posicionamiento relativo para diseñar sus vistas secundarias. Suministre mapeados de mapas de bits alternativos para diferentes densidades de pantalla.

Tómese un tiempo y lea estas screens_support o para obtener una mejor idea, vea cómo Android encuentra el recurso de mejor coincidencia para que sepa dónde colocar sus recursos.