Control personalizado de Android con niños
Estoy tratando de crear uncontrol personalizado de Android esecontiene un diseño lineal. Puede pensarlo como un diseño lineal extendido con bordes elegantes, un fondo, una imagen a la izquierda ...
Podría hacerlo todo en XML (funciona muy bien), pero dado que tengo docenas de veces en mi aplicación, me resulta difícil mantenerlo. Pensé que sería mejor tener algo como esto:
/* Main.xml */
<MyFancyLayout>
<TextView /> /* what goes inside my control's linear layout */
</MyfancyLayout>
¿Cómo abordarías esto? Me gustaría evitar volver a escribir todo el diseño lineal en los métodos onMeasure / onLayout. Esto es lo que tengo por el momento:
/* MyFancyLayout.xml */
<TableLayout>
<ImageView />
<LinearLayout id="container" /> /* where I want the real content to go */
</TableLayout>
y
/* MyFancyLayout.java */
public class MyFancyLayout extends LinearLayout
{
public MyFancyLayout(Context context) {
super(context);
View.inflate(context, R.layout.my_fancy_layout, this);
}
}
¿Cómo haría para insertar el contenido especificado por el usuario (TextView en main.xml) en el lugar correcto (id = contenedor)?
¡Salud!
Romain
----- editar -------
Todavía no tuve suerte con esto, así que cambié mi diseño para usar un diseño más simple y decidí vivir con un poco de XML repetido. Sin embargo, todavía estoy muy interesado en que alguien sepa cómo hacerlo.