2011-03-28 15 views
5

Tengo una actividad que tiene dos diseños, uno en la carpeta layout y el otro en layout-large, (uno es para el factor de teléfono y el otro para la forma de tableta). ¿Cómo puedo detectar qué diseño se está cargando ya que en el formulario de tableta, ¿visualizo más datos?¿Detecta qué diseño se carga según el tamaño de visualización?

Gracias

EDIT: Yo sé que en la tableta se carga el layout-large pero ¿cómo puedo saber que estoy corriendo en algo con un factor de forma de la tableta?

+0

aún más:. XLarge! Y, desde Android 3.2, hay incluso más calificadores que se acercan directamente al ancho y/o alto de la pantalla disponible, por lo que será aún más complicado ... – Zordid

Respuesta

3

Un enfoque simple sería mantener una vista de texto con visibilidad configurada como GONE. Mantenga la propiedad de texto para cada diseño diferente. En su código, compruebe esta vista e identifique qué diseño se ha cargado.

+0

Genial, sí, eso funcionaría;) un poco complicado, pero bueno ! – Totic

+0

Este truco está bien, pero sería bueno saber cómo hacerlo sin "piratear". Debe haber una forma... – Zordid

10

Puede detectarlo mediante programación:

(getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE; 
getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; 

y con otros métodos y propiedades en getResources() getConfiguration()

Cuestiones relacionadas