Ver la Versión Completa : Inconveniente layout
Buenos días a todos!!
Tengo un "inconveniente" en una aplicación, y no se que camino elegir:
El problema es que tengo un layout con muchos textview, metidos dentro de una tablelayout, entonces me genera un layout enorme y creo que eso no es optimo ni amigable para el usuario.
¿Qué me podéis recomendar para intentar solucionarlo o por otra parte a lo mejor os parece conveniente seguir haciéndolo así?
Un saludo.
Muchas gracias.
Hola truxky, si dejaras algun dato mas, yo creo k te podriamos ayudar. porque no sabemos ni como es el layout, ni cuantos texview quieres meter, ni como los kieres poner, .. ;-)
para que te hagas una idea, yo estoy haciendo una clasificacion de voley y no me a kedado otra que meterlo en landscape.
http://imageshack.us/a/img16/83/screenshot2012101119373v.png (http://imageshack.us/photo/my-images/16/screenshot2012101119373v.png/)
Celtium
13/10/12, 18:37:21
mételo en un scrollview.
;)
La idea es mostrar una tabla con una serie de valores que son calculados.
Me gustaría estructurarlo de la siguiente manera, pero no se si es eficiente o tendríais alguna idea.
http://imageshack.us/a/img502/217/sinttuloert.png
Son alrededor de unos 100 textview, entonces queda una pantalla muy grande.
¿Que me recomendáis?
Muchas gracias.
Un saludo.
kriogeN
14/10/12, 23:37:20
Haz agrupaciones y mételo en un ViewPager.
Para el que no lo sepa el ViewPager es lo que tiene por ejemplo el Play Store, para moverte entre "Categorías", "Destacados", "Top Ventas", etc... Y con el efecto de transición ya implícito, incluido el arrastrar lentamente y ver como se va moviendo.
Necesitas la librería Android Support V4.
Podría tener todos los textviews divididos en 3 categorías, pero no se como hacer los viewerpager, tu tienes algún ejemplo de como hacerlos??
Gracias.
kriogeN
14/10/12, 23:57:25
Aquí tienes el tutorial que seguí yo cuando lo hice, es bastante sencillo.
http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/
Te recomiendo que justo después de crear el ViewPager en el código uses el método: setOffscreenPageLimit para poner el número total de páginas que vas a usar, de lo contrario si por ejemplo tienes 3 páginas siempre que estés en la primera eliminará la tercera de la memoria, y cuando estés en la tercera eliminará la primera, ya que por defecto sólo mantiene en memoria a la que tiene inmediatamente a la izquierda y derecha de la actual.
EDITO: Si quieres poner un indicador con los títulos, igual que en el Play Store, tienes que usar la clase ViewPagerIndicator. Aquí tienes un tutorial:
http://androcode.es/2011/11/viewpager-anadiendo-titulos/
muchas gracias. voy a probar y ya os contare como a ido.
Muchas gracias a todos.
La verdad que con los PageViewer queda muy bien, ahora me ha surgido otro problema, y es que yo tengo 3 layout, cada uno en un ViewerPage.
Ahora tengo que acceder a los textview de los diferentes layout pero desde donde creo que el ViewerPage no tengo acceso.
Hay que crear otras clases o referenciarlos de otra forma??
Un saludo.
kriogeN
15/10/12, 13:39:43
Puedes crear variables globales en la Activity, a las que si tendrás acceso en el instantiateItem del PagerAdapter, y las que podrás asignar al mismo tiempo que asignas los TextView.
También puedes crearlos dentro de la Activity, y tener métodos para asignar esas variables, y llamarlos desde el PagerAdapter con: NombreActivity.this.asignaVariable(loquesea)
Muchas gracias.
Ya lo he hecho como me has comentado, y a quedado perfecto.
Muchas gracias a todos por vuestra ayuda
Buenas a todos.
Después de que me ayudarais tanto con mi problema de layout, recurro otra vez a vosotros. Sigo con temas de layout, tengo definidos varios layout dependiendo del tamaño de las diferentes pantallas.
Estos son los tamaños que tengo de por ejemplo la portada de la aplicación:
xhdpi -> 640x940
hdpi -> 480x854
mdpi -> 320x480
ldpi -> 240x342
¿Estos valores son correctos no??
Me encuentro con otro problema y es que en esta pantalla que tiene un titulo y una imagen, tengo dos botones en la parte de abajo del layout. Para situarlos tengo diferente el siguiente layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:background="@drawable/portada"
android:orientation="vertical" >
<Button
android:id="@+id/BotonComenzar"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/tenis"
android:text="@string/Comenzar"
android:textSize="30dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="470dp"/>
<Button
android:id="@+id/BotonCargar"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/cargar"
android:text="@string/Cargar"
android:textSize="30dp"
android:layout_gravity="center_horizontal"
android:visibility="visible"/>
</LinearLayout>
Tengo puesto el dato de: android:layout_marginTop="470dp". Esto en pantallas grandes funciona bien, pero en pantallas pequeñas que no tienen tanto tamaño, me aparecen los botones por debajo. ¿Como puedo solucionarlo?
Un saludo.
kriogeN
16/10/12, 14:42:17
Si lo que quieres es que los botones siempre estén abajo, independientemente del tamaño y tipo de pantalla, puedes usar android:gravity="bottom" en el LinearLayout.
Por supuesto el LinearLayout tendrá que ser wrap_content, como mínimo en altura.
Buenas noches
¿¿Los valores para una imagen de background para los diferentes layout es el siguiente??
xhdpi -> 640x940
hdpi -> 480x854
mdpi -> 320x480
ldpi -> 240x342
Un saludo
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.