Android: ¿Cómo incluir dinámicamente una disposición XML?

Quiero descomponer mi interfaz de usuario en varios diseños XML. El primero sería el diseño principal, y los otros serían los diseños de contenido.

Me gustaría poder establecer qué contenido_layout se debe incluir dinámicamente en tiempo de ejecución, así que no quiero fijar un "layout="@+layout/content_layout" en mi archivo XML.

Aquí están mis diseños:

Main_layout.xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="600dp" android:layout_height="800dp" > <TextView android:id="@+id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> <include /> <!-- I WANT TO INCLUDE MY CONTENT HERE --> <Button android:id="@+id/cancelButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="Cancel" /> </RelativeLayout> 

Content_layout.xml:

 <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/whatever" android:layout_height="wrap_content" android:layout_width="fill_parent" /> 

Content_layout2.xml:

 <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/whatever2" android:layout_height="wrap_content" android:layout_width="fill_parent" /> 

¿Cómo puedo hacer eso?

¡Gracias!

 <RelativeLayout android:id="@+id/rl" ... 

En su código:

 // get your outer relative layout RelativeLayout rl = (RelativeLayout) findById(R.id.rl); // inflate content layout and add it to the relative layout as second child // add as second child, therefore pass index 1 (0,1,...) LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); rl.addView(1, layoutInflater.inflate(R.layout.content_layout, this, false) ); 

Usted podría intentar usar un ViewStub y apenas cambiar qué disposición él va a inflar programatically.

Esta respuesta discute el uso de un ViewStub.

  • Cómo cambiar fontFamily de TextView en Android
  • Usar fuente Roboto para dispositivos anteriores
  • Efecto ondulado en estado prensado + transparencia en estado normal
  • cómo crear androide linearlayout con RTL orientación horizontal
  • Gridview: Cómo llenar el espacio entero con la vista de texto
  • Mensaje "_Problem Loading Widget"
  • Error al inflacionar la clase android.view.ViewGroup
  • Disposición personalizada de MenuItem de Android
  • Android 4.2 en Nexus 7: canvas.drawText () no funciona correctamente
  • ¿Cómo mostrar el archivo .gif en la vista de la imagen?
  • Cómo conectar una vista de diseño con una actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.