2011-01-17 10 views
5

Me gustaría poner una vista personalizada varias veces en mi main.xml que consiste en un RelativeLayout, algunos controles y luego mi vista personalizada. Esta vista personalizada debe utilizar el siguiente código XML (simplificado):Enlazar la vista personalizada de Android a un diseño específico xml (¿es esto posible?)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="220px" 
android:layout_height="220px" 
android:background="@drawable/contextitemshape"> 
<TextView 
    android:text="some caption" 
    android:textSize="23px" 
    android:textColor="#000000"/> 
    <FrameLayout 
    android:id="@+id/content"/> 
</RelativeLayout> 

¿Cómo puedo conseguir que usan este archivo cada vez que se crea? ¿Es eso posible en Android? Todas las vistas personalizadas que puedo encontrar no usan un archivo propio layout-xml.

¡Gracias!

Respuesta

5

Haga que su personalizado View infle el diseño como parte de su configuración. Here is a project que, entre otras cosas, implementa ColorMixer personalizado View que infla un diseño que contiene tres widgets SeekBar y algunas otras cosas.

+2

¡Gracias! Es probable que sea importante tener en cuenta que uno tiene que extender un diseño en lugar de una vista. Al menos no puedo hacer que LayoutInflater funcione cuando extiendo View. – ShadowMare

+0

@ShadowMare: Sí, necesita una clase de contenedor real para la técnica de inflación que demuestro para trabajar. En su caso, puede hacer que su 'Vista' personalizada extienda 'RelativeLayout' y use' 'para traer el resto de sus contenidos. – CommonsWare

Cuestiones relacionadas