Controle Android personalizado com crianças
Estou tentando criar umcontrole personalizado do Android estecontém um LinearLayout. Você pode pensar nisso como um LinearLayout estendido com bordas elegantes, um plano de fundo, uma imagem à esquerda ...
Eu poderia fazer tudo em XML (funciona muito bem), mas como tenho dezenas de ocorrências no meu aplicativo, está ficando difícil de manter. Eu pensei que seria melhor ter algo assim:
/* Main.xml */
<MyFancyLayout>
<TextView /> /* what goes inside my control's linear layout */
</MyfancyLayout>
Como você abordaria isso? Eu gostaria de evitar reescrever todo o layout linear dos métodos onMeasure / onLayout. É isso que tenho no momento:
/* MyFancyLayout.xml */
<TableLayout>
<ImageView />
<LinearLayout id="container" /> /* where I want the real content to go */
</TableLayout>
e
/* MyFancyLayout.java */
public class MyFancyLayout extends LinearLayout
{
public MyFancyLayout(Context context) {
super(context);
View.inflate(context, R.layout.my_fancy_layout, this);
}
}
Como você inserirá o conteúdo especificado pelo usuário (o TextView em main.xml) no lugar certo (id = container)?
Felicidades!
Romain
----- editar -------
Ainda sem sorte nisso, mudei meu design para usar um layout mais simples e decidi viver com um pouco de XML repetido. Ainda muito interessado em alguém sabe como fazer isso!