|
||
|
![]() |
![]() |
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 |
![]() |
|
Herramientas |
#1
|
||||
|
||||
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. |
|
#2
|
||||
|
||||
|
#3
|
||||
|
||||
mételo en un scrollview.
;) |
#4
|
||||
|
||||
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. ![]() Son alrededor de unos 100 textview, entonces queda una pantalla muy grande. ¿Que me recomendáis? Muchas gracias. Un saludo. |
#5
|
||||
|
||||
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. |
#6
|
||||
|
||||
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. |
#7
|
||||
|
||||
Aquí tienes el tutorial que seguí yo cuando lo hice, es bastante sencillo.
http://mobile.tutsplus.com/tutorials...l-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/viewpage...iendo-titulos Última edición por kriogeN Día 15/10/12 a las 00:01:09. |
Gracias de parte de: | ||
#8
|
||||
|
||||
muchas gracias. voy a probar y ya os contare como a ido.
|
#9
|
||||
|
||||
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. |
#10
|
||||
|
||||
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) |
#11
|
||||
|
||||
Muchas gracias.
Ya lo he hecho como me has comentado, y a quedado perfecto. Muchas gracias a todos por vuestra ayuda |
#12
|
||||
|
||||
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: Código:
<?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> Un saludo. |
#13
|
||||
|
||||
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. |
#14
|
||||
|
||||
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 |
![]() |
![]() |
||||||
|
Herramientas | |