Trucos con el diseño en Android #2: Reutilizando diseños
Android viene acompañado de una amplia variedad de widgets, pequeños bloques de construcción visual que puedes unir para crear complejas y útiles interfaces. Sin embargo, algunas aplicaciones necesitan un mayor nivel de complejidad en los componentes visuales. Estos complementos pueden ser vistos como un widget complejo hecho a partir de otros simples. Crear nuevos componentes puede ser fácil escribiendo tu propia View pero es aún más fácil usando solo XML.
En los diseños XML, cada etiqueta esta mapeada en la instancia de la clase actual ( la clase es siempre una subclase de View.) Las herramientas para crear interfaces permiten usar tres etiquetas especiales que no están mapeadas en una instancia de View <requestFocus />, <merge /> y <include />.
La etiqueta <include /> básicamente incluye otro diseño XML dentro del cual la definimos. Usando esta etiqueta como en el siguiente ejemplo:
<com.android.launcher.Workspace android:id="@+id/workspace" android:layout_width="fill_parent" android:layout_height="fill_parent" launcher:defaultScreen="1"> <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> </com.android.launcher.Workspace>
El único parametro obligatorio de <include /> es layout. Este atributo, sin el prefijo android, hace referencia al fichero de diseño que quieres incluir. En el ejemplo, el mismo diseño se incluye tres veces en una fila. Esta etiqueta solo invalida algunos atributos del diseño incluido. El ejemplo anterior muestra que puedes usar android:id para especificar la id de la view padre del diseño incluido; además invalida la id del diseño incluido si ya esta definida. De esta misma forma puedes invalidar todos los parámetros del diseño. Esto significa que cualquier atributo android:layout_* puede usarse con la etiqueta para modificar el incluido. Por ejemplo:
<include android:layout_width="fill_parent" layout="@layout/image_holder" />
<include android:layout_width="256dip" layout="@layout/image_holder" />
Esta etiqueta es particularmente útil cuando necesitas personalizar solo una parte del interfaz dependiendo por ejemplo de la configuración del dispositivo. El directorio layout puede incluir otros diseños que existentes por ejemplo en layout-vertical/ y layout-horizontal/. Esto permitiría compartir el diseño principial tanto en modo horizontal y vertical mediante la etiqueta include.
Artículo original | Android Developer


One Response to Trucos con el diseño en Android #2: Reutilizando diseños
Trackbacks/Pingbacks