2012-05-10 27 views
29

Digamos que quiero crear 2 conjuntos diferentes de diseños exclusivos para tabletas. Uno para 600dp (7 "tableta 1024x600) y uno para 720dp (10" tableta 1280x720 o 1280x800)Diseño de una aplicación solo para tableta Android

Entiendo que con Android 3.2 ahora puede especificar los diseños de la tableta. Entiendo eso, pero cómo especificar en Google Play que esta es una aplicación de solo tableta.

Existe este android: requiresSmallestWidthDp para especificar el mínimo ancho mínimo requerido. Bien, pero más adelante en la guía puede leer

Precaución: El sistema Android no presta atención a este atributo, por lo que no afecta cómo se comporta su aplicación en tiempo de ejecución. En cambio, se usa para habilitar el filtrado de su aplicación en servicios como Google Play. Sin embargo, Google Play actualmente no admite este atributo para el filtrado (en Android 3.2), por lo que debe continuar utilizando los otros atributos de tamaño si su aplicación no es compatible con pantallas pequeñas.

Así que no es usado por el sistema y no es usado por Google Play ... así que, básicamente, es inútil, ¿no?

"debe continuar usando el tamaño de otros atributos si su aplicación no es compatible con pantallas pequeñas

Ok Lo otro atributo tamaño los soportes pantallas uno Xlarge:..?? Pantallas son al menos 960dp x 720dp grande: las pantallas tienen al menos 640 ppp x 480 pb

La tableta de 1024x600 de 7 "es una pantalla" grande ". Así que básicamente tengo que diseñar un diseño para las res de 640x480. también porque si quiero que mi aplicación esté disponible para los 2 tamaños diferentes de tabletas, tengo que habilitar pantallas grandes y x grandes.

así que supongo que podría construir 2 conjuntos diferentes de diseños como este

res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 

y completamente omitir para especificar un diseño para pantallas más pequeñas, pero luego la aplicación iba a estrellarse en una pantalla más pequeña. Esa es una forma de evitar que la aplicación se ejecute y eso no es elegante.

¿Hay alguna manera de hacer que la aplicación esté disponible solo para las pantallas de 600dp y mayores en Google Play? Estoy bastante confundido. Quiero hacer una aplicación solo para tableta que un teléfono 640x480 no podría descargar en Google Play. Creo que me falta algo muy obvio.

Respuesta

47

para obtener su aplicación filtra por sólo tabletas con ICS en Google-Play podría hacer esto en su AndroidManifest:

<supports-screens 
     android:largeScreens="true" 
     android:normalScreens="false" 
     android:requiresSmallestWidthDp="600" 
     android:smallScreens="false" 
     android:xlargeScreens="true" /> 

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="14" /> 

Para obtener HoneyComb tabletas Aswell basta con cambiar su minSdk

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="14" /> 

Por lo tanto, ahora dice que Gingerbread (2.3) y siguientes no pueden descargar su aplicación (porque no son Tablets ni están diseñados para funcionar en tabletas, incluso si están hackeados en).

HoneyComb Tablets (3.0) con el apoyo (porque < 3.2 es ignorar el atributo requiresSmallestWidth)

Hay hay teléfonos ejecutan nido de abeja

ICS tabletas es compatible, ya que tiene un aspecto a su atributo smallestWidth

y finalmente ICS móviles no son porque, como decimos, ICS usa el atributo más pequeño de ancho

+0

Gracias. Mi única preocupación es que en esta página http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts, se indique que "Google Play actualmente no admite este atributo para el filtrado (en Android 3.2)". ¿Entonces está diciendo que este atributo/filtro se usa en teléfonos y tabletas ics? Desearía que los documentos fueran más claros sobre eso. –

+1

'Google Play actualmente no admite este atributo para filtrar (en Android 3.2)' en 3.2, es por eso que escribí lo anterior para dar cuenta de honeycomb, pero se usará para filtrar en dispositivos 4.0 – Blundell

+0

Esta fue una gran referencia , tengo una duda, si mi aplicación es específica para el modo paisaje. Si retrato podemos especificar 600 es el límite para el ancho, pero qué para la aplicación de paisaje. mencioné "android: screenOrientation =" landscape "en el manifiesto. ¿este código considerará el ancho para el modo horizontal. – RAAAAM

Cuestiones relacionadas