¿Soporta Android la herencia de diseño (similar a las plantillas de Django)?

Puedo estar malinterpretando cómo funcionan los trabajos <include> y <merge> , pero de acuerdo con el ejemplo Simple de <merge> y <include> uso en los diseños XML de Android , <include> significa "tomar ese archivo y pegar su contenido aquí".

Digamos que usted quiere tener 3 actividades que tienen el mismo encabezado, pero tienen contenido diferente. Todavía necesitará tener 3 archivos de diseño XML para cada actividad. La única diferencia entre cada uno de los diseños será que definen un diseño diferente en la etiqueta <include> . Si quisiera agregar un pie de página tendría que cambiar cada diseño.

Estoy buscando una manera de lograr la inversa, por lo que los diseños de los niños se anulan los bloques específicos de los padres ( similar a las plantillas de Django ). De esa manera, si quisiera agregar ese pie de página, simplemente cambiaría el padre y los niños seguirían anulando sólo el contenido.

Digamos que usted quiere tener 3 actividades que tienen el mismo encabezado, pero tienen contenido diferente. Todavía necesitará tener 3 archivos de diseño XML para cada actividad. La única diferencia entre cada uno de los diseños será que definen un diseño diferente en la etiqueta.

Si desea tener tres actividades que tienen el mismo encabezado, tendrá un archivo de diseño por actividad. Ese archivo tendrá los widgets exclusivos para esa actividad, y un elemento <include> para el encabezado común.

De esa manera, si quisiera agregar ese pie de página, simplemente cambiaría el padre y los niños seguirían anulando sólo el contenido.

Esto no es compatible con Android en este momento. Como indica janoliver, usted podría rodar su propia solución para esto.

He resuelto esto mediante la adición de entradas ViewStub en la disposición xml del padre, y – dependiendo del tipo de subclase – inflar el talón correcto.

http://developer.android.com/reference/android/view/ViewStub.html

ViewStub es una especie de carga perezosa de una vista, por lo que si nunca llama inflate () o nunca la hace visible, no se agregará a la jerarquía de diseño.

  • Las solicitudes de volea no funcionan con Django Sessions
  • ¿Qué necesito saber para hacer que mi sitio web funcione en dispositivos móviles hoy en día?
  • Aplicación de servidor Django lado (tal vez un micro blog) y el cliente de aplicaciones Android - cómo comunicarse
  • Imagen de publicación de Android en el servidor mediante MultipartEntity
  • Integración de Facebook para aplicaciones móviles con una API REST de servidor
  • GCM collapse_key no funciona
  • Conectando clientes de escritorio y móviles a Django y Sails MVC webframeworks
  • Cómo acceder a mi 127.0.0.1:8000 desde Android tablet
  • ¿Cómo funciona GCM? (Mensajería en la nube google para Android)
  • Conexión PhoneGap con el servicio localhost webservice
  • Subida de imágenes de Android-Django
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.