studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android layout version screen-size android-4.0

para - manual de programacion android pdf



Programa diferentes diseños para diferentes versiones en Android (2)

Tengo que programar mi aplicación para Android con la mejor compatibilidad con diferentes tamaños de pantalla (tabletas y teléfonos inteligentes) y con las versiones 2.3, 3.2 y 4.0. Sé sobre la posibilidad de nombrar las carpetas del diseño como res / layout-sw600dp /. para que coincida con el diseño exactamente a diferentes tamaños de pantalla.

Entonces, debido a que usaré diseños completamente diferentes para tabletas / teléfonos inteligentes , comenzaría con una "pantalla de carga", que prueba qué versión de Android se usa y si se usa una tableta o teléfono inteligente, por ejemplo en el diseño para la tableta, habrá botones en algunas pantallas que no estarán allí en el teléfono inteligente.

Así que tendré que separar todo esto en paquetes, así:

  • Común
  • 2.3
    • Tableta
    • Teléfono inteligente
  • 3.2
    • Tableta
    • Teléfono inteligente
  • 4.0
    • Tableta
    • Teléfono inteligente

Elegiría esta separación, porque es la mejor manera, en mi opinión, de estar preparado para las próximas * actualizaciones *, si, digamos que debe agregarse un Botón en la Barra de Herramientas en Android 4.0.

¿Es esta separación algo bueno en tu opinión o es una sobrecarga completa?

¿Hay alguna otra característica nueva en 4.0 que deba tener en cuenta?


Puede encontrar la versión de Android mirando Build.VERSION.

La documentación recomienda que compruebe Build.VERSION.SDK_INT contra los valores en Build.VERSION_CODES.

Y en base a esa versión, puede configurar sus diseños en condiciones if else


También puede nombrar sus carpetas de recursos para indicar el número de versión (como /res/layout-v11 ) o ( /res/values-v13 )

Con respecto a su pregunta sobre la separación, realmente depende de sus requisitos particulares. Un enfoque común para este problema es un mecanismo de retroceso: usted proporciona algunos diseños específicos (por ejemplo, un diseño x1 de landscape grande) y algunos genéricos a los que recurrir.

Por supuesto, esta es una solución "idealista"; y no siempre funciona de esa manera. En otras palabras, es muy difícil implementar prácticamente una aplicación que sea compatible con tantas versiones de Android únicamente al proporcionar recursos alternativos. Incluso si usa las bibliotecas de compatibilidad (lo que ayuda un poco a reducir el código específico de la versión); aún tendrá que adaptar su código en función de la versión en tiempo de ejecución.