Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 24/02/12, 00:46:44
Array

[xs_avatar]
dureo dureo no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2011
Localización: Mallorca
Mensajes: 7
Modelo de smartphone: Sony Xperia Neo V
Tu operador: Yoigo
Tamaños de pantalla

Hola, estoy desarrollando una aplicacion para honeycomb, mi problema reside en que he estado utilizando mi tf101 con 10.1" para hacer las pruebas y el diseño y ahora cuando miro como seria en una tablet de 7" se sale de la pantalla, y si modifico los tamaños para que quepa en la de 7 se queda pequeño para las de 10, estoy utilizando unidades dp en mi layout, pero no se redimensiona.

¿Hay que hacer algo mas?
Responder Con Cita


  #2  
Viejo 24/02/12, 01:01:11
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Si hay que hacer algo más, en tu caso muy probablemente crear 2 esquemas de layouts para que el sistema automaticamente escoja el que más le conviene.

Los puntos DP funcionan muy bien con los móviles, ya que la proporción es la misma entre los LDPI, MDPI, HDPI y XHDPI para pantallas Normal (que son las que usan los móviles), o al menos casi igual y casi no se nota (en anchura es siempre igual, solo en altura varía y no mucho).

Pero cuando vas a las tablets la cosa cambia, sobre todo si tu aplicación estaba pensada para móviles. Porque usan pantallas Large o Extra Large, y dentro de ellas existen incluso subcategorías.

Mira esta página:

http://developer.android.com/guide/p...s_support.html

Sobre todo la Table 2 y la Table 3 y verás porque no se ve igual, y la forma de solucionarlo, como te he dicho al principio creando un layout para cada tipo de tablet.

Lo que yo hago siempre es pensar en el menor tipo de pantalla que me voy a encontrar, y programar para ese tipo de pantalla, otra cosa además es procurar usar siempre wrap_content, y si quieres que 2 elementos aparezcan en la misma línea entonces usar layout_weight, y no como hacen algunos de pensar "Como tengo 320dp de anchura siempre pues pongo 160dp y 160dp", porque luego te vas a una tablet de 7' y tiene 800dp de ancho, por lo tanto te queda super pequeño y todo pegado a la izquierda, y si te vas a una de 10' que tiene 1280dp de ancho, aún peor.
Responder Con Cita
  #3  
Viejo 24/02/12, 13:47:09
Array

[xs_avatar]
dureo dureo no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2011
Localización: Mallorca
Mensajes: 7
Modelo de smartphone: Sony Xperia Neo V
Tu operador: Yoigo
Muchas gracias, si tenias razon he utilizado varios layouts en carpetas tipo swNdp y me va bien (aunque es algo mas de trabajo, XD).
Ademas he decidido bajar la version a 2.2 (la minima que me permitia el uso de carpetas swNsp) pero ahora no puedo poner el theme holo de honeycomb. ¿es posible que mi aplicacion use ese theme cuando se ejecute en una tablet con android 3.x?
Responder Con Cita
  #4  
Viejo 24/02/12, 14:08:29
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 Cita: Originalmente Escrito por dureo Ver Mensaje
Muchas gracias, si tenias razon he utilizado varios layouts en carpetas tipo swNdp y me va bien (aunque es algo mas de trabajo, XD).
Ademas he decidido bajar la version a 2.2 (la minima que me permitia el uso de carpetas swNsp) pero ahora no puedo poner el theme holo de honeycomb. ¿es posible que mi aplicacion use ese theme cuando se ejecute en una tablet con android 3.x?
Tecnicamente si es posible, aunque nunca lo he probado, lo que tendrías que hacer es mas o menos esto:

1) Establecer que la aplicación sea para Android 3.0 (para poder acceder al Theme Holo)

2) Establecer que la versión mínima sea Android 2.2 (para que funcione en Android 2.2).

3) Poner en el AndroidManifest por defecto el Theme normal de Android (no el Holo)

4) En tiempo de ejecución usar la función setTheme (echale un vistazo en la página de Android Developers porque tiene algunas limitaciones)

http://developer.android.com/referen...Theme%28int%29

5) La función setTheme tienes que meterla entre un try y catch, prueba primero con Exception, y si te falla prueba con Error.

Haciendo todo esto preparas tu aplicación para que funcione en Android 2.2 con el Theme por defecto de Android 2.2, pero con acceso al SDK de Android 3.0. Lo que ocurre es que si accedes a una función de Android 3.0 en un móvil con Android 2.2 (o 2.3) el móvil lanzará un error (capturable mediante el Error que te he dicho antes). Lo que pasa es que en este caso concreto setTheme si existe en Android 2.2, lo que no existirá es el Theme Holo, así que no se como se comportará, si lanzando Error o lanzando Exception.

Esto de usar distintas versiones de Android en el Build y en el MinSDK es bastante útil, por ejemplo si haces una aplicación que use la cámara que quieres que funcione en Android 2.2 pero que pueda usar la cámara frontal en Android 2.3. Pues compilas para Android 2.3 usando MinSDK la 2.2, las funciones de cambio de cámara las metes entre try y catch con Error y así si un Android 2.2 intenta ejecutarlas simplemente no hará nada.
Responder Con Cita
Gracias de parte de:
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 10:39:33 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /