linearlayout layout_width gridlayout examples ejemplo dinamico constraint caracteristicas android android-layout

android - layout_width - ¿Agregar contenido a un diseño lineal de forma dinámica?



linearlayout android caracteristicas (3)

En su onCreate() , escriba lo siguiente

LinearLayout myRoot = (LinearLayout) findViewById(R.id.my_root); LinearLayout a = new LinearLayout(this); a.setOrientation(LinearLayout.HORIZONTAL); a.addView(view1); a.addView(view2); a.addView(view3); myRoot.addView(a);

view1 , view2 y view3 son tus TextView s. Se crean fácilmente mediante programación.

Si, por ejemplo, he definido un diseño de raíz lineal cuya orientación es vertical:

main.xml :

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- I would like to add content here dynamically.--> </LinearLayout>

Dentro del diseño lineal raíz, me gustaría agregar varios diseños lineales hijo , cada una de las orientaciones de diseño lineal hijo es horizontal . Con todo esto podría terminar con una tabla como salida.

Por ejemplo, raíz con diseño infantil , como:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- 1st child (1st row)--> <LinearLayout ... android:orientation="horizontal"> <TextView .../> <TextView .../> <TextView .../> </LinearLayout> <!-- 2nd child (2nd row)--> ... </LinearLayout>

Como el número de diseños lineales secundarios y sus contenidos son bastante dinámicos, decidí agregar contenido al diseño lineal de la raíz mediante programación.

¿Cómo se puede agregar el segundo diseño al primero mediante programación, que también podría establecer todos los atributos de diseño para cada elemento secundario y agregar más elementos dentro del elemento secundario?


Puede lograr la cascada LinearLayout de esta manera:

LinearLayout root = (LinearLayout) findViewById(R.id.my_root); LinearLayout llay1 = new LinearLayout(this); root.addView(llay1); LinearLayout llay2 = new LinearLayout(this); llay1.addView(llay2);


LinearLayout layout = (LinearLayout)findViewById(R.id.layout); View child = getLayoutInflater().inflate(R.layout.child, null); layout.addView(child);