2012-01-18 51 views
8

Tengo que programar mi aplicación 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.Programa diferentes diseños para diferentes versiones en Android

Por lo tanto, causa Voy a utilizar completamente diseños diferentes para tabletas/teléfonos inteligentes, me gustaría empezar con una "pantalla de carga", que las pruebas, que se utiliza Android versión y si no se utiliza un smartphone-tablet-o , por ejemplo, en el diseño de la tableta, habrá botones en algunas pantallas que no estarán allí en el teléfono inteligente.

Así que voy a tener que separar todo esto en paquetes, así:

  • Común
  • 2,3
    • tableta
    • Smartphone
  • 3,2
    • Tablet
    • Smartphone
  • 4,0
    • tableta
    • Smartphone

yo elegiría esta separación, porque es la mejor manera, en mi opinión, para estar preparados para próximo * actualizaciones *, si, digamos que debería se debe agregar un botón en la barra de herramientas en Android 4.0.

¿Es esta separación algo bueno en su opinión o se trata de una sobrecarga completa de ?

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

Respuesta

15

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

cuanto a su pregunta acerca de la separación - Realmente depende de tu requisito particular. Un enfoque común para este problema es un mecanismo de retroceso: proporcione 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.

6

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 establecer sus diseños en si las condiciones lo demás

+0

Ok, gracias! – 10ff

Cuestiones relacionadas