|
||
|
![]() |
![]() |
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
|
||||
|
||||
Como poner filas y columnas en un LinearLayout dinamicamente?
Buenas.
Tengo quiero crear dinamicamente este xml : Código:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:columnCount="2" android:rowCount="2" android:orientation="vertical" > <LinearLayout android:id="@+id/topleft" android:layout_width="160dp" android:layout_height="200dp" android:layout_column="0" android:layout_row="0" > <ImageView android:id="@+id/myimage1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tetona" android:visibility="visible" /> <ImageView android:id="@+id/myimage11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tocho" android:visibility="gone" /> ></LinearLayout> <LinearLayout android:id="@+id/topRigth" android:layout_width="160dp" android:layout_height="200dp" android:layout_column="1" android:layout_row="0" > <ImageView android:id="@+id/myimage2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tetona" /> ></LinearLayout> <LinearLayout android:id="@+id/bottomRight" android:layout_width="160dp" android:layout_height="200dp" android:layout_column="1" android:layout_row="1" > <ImageView android:id="@+id/myimage3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tetona" /> ></LinearLayout> <LinearLayout android:id="@+id/BottonLeft" android:layout_width="160dp" android:layout_height="200dp" android:layout_column="0" android:layout_row="1" > <ImageView android:id="@+id/myimage4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tetona" /> ></LinearLayout> </GridLayout> LinearLayout layout = new LinearLayout(this); layout.setId(id); layout.setLayoutParams(new LinearLayout.LayoutParams(160,200)); gridlay.addView(layout); Pero como pongo los parametros del LinearLayout android:layout_column y android:layout_row de forma dinamica?? |
|
#2
|
||||
|
||||
Pues en vez de un LinearLayout.LayoutParams, lo que tienes que meterle es un GridLayout.LayoutParams, pues son atributos del GridLayout realmente.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
#3
|
||||
|
||||
Hola.
En la linea: layout.setLayoutParams(new LinearLayout.LayoutParams(160,200)); lo que hago es poner poner la anchura y altura del LinearLayout que esta dentro del GridLayout. Si el GridLayout tiene dos filas y dos columnas: android:columnCount="2" android:rowCount="2" quiero definir en el LinearLayout los parametros por corresponden a la fila 1 y la columna 1, es decir android:layout_column="1" android:layout_row="1" Pero como lo pongo dinamicamente? Última edición por manolazo Día 19/06/13 a las 22:30:37. |
#4
|
||||
|
||||
Código:
GridLayout gridlay = (GridLayout)findViewById(R.id.gridpadre); gridlay.setColumnCount(2); gridlay.setRowCount(2); for (int i=0; i<(gridlay.getRowCount()); ++i){ for(int j=0; j<gridlay.getColumnCount(); ++j){ LinearLayout layout = new LinearLayout(this); layout.setId(id); layout.setLayoutParams(new LinearLayout.LayoutParams(160,200)); gridlay.addView(layout); Es posible o hay que usar otros recursos? |
#5
|
||||
|
||||
Pues algo así, ¿no?
layout.setLayoutParams(new GridLayout.LayoutParams(fila, columna));
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
#6
|
||||
|
||||
Hola.
Los parametros referentes a row y columns solo pueden ser del tipo: layout.setLayoutParams(new GridLayout.LayoutParams(Spec rowSpec ,Spec columnspec)); es decir solo se refieren a las especificaciones de la fila y columna , no permite valores int referentes a la posicion respecto al gridlayout. Todo lo que se escribe en el xml SE PUEDE HACER DINAMICAMENTE ? o hay casos que no es posible como este? |
#7
|
||||
|
||||
En efecto te estoy liando, disculpa XD No sé qué es lo que he visto entonces
Algo así te valdría Código:
GridLayout.LayoutParams param =new GridLayout.LayoutParams(); param.columnSpec = GridLayout.spec(columna); param.rowSpec = GridLayout.spec(fila);
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Última edición por mocelet Día 20/06/13 a las 22:19:01. |
#8
|
||||
|
||||
Hola.
El otro dia vi el mismo mensaje en StackOverflow pero como hablaban de rowspan y columnSpan que no tiene nada que ver con lo que yo preguntaba no me fije en el código que pusieron en medio que clarifica la duda que tenia. Lo he probado y funciona. Un saludo. |
#9
|
||||
|
||||
Un poco de offtopic....
Podrias subir el drawable ese "tetona" jajaja pa q lo veamos todos si es lo q parece q es ![]() ![]() ![]() |
#10
|
||||
|
||||
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
![]() |
![]() |
||||||
|