J'ai la disposition codée personnalisée pour tenir tous les childs. Voici le code:Alignement d'objets dans LinearLayout personnalisé?
public abstract class ItemView extends LinearLayout{
private ImageView icon;//cell icon
public static final int iconID=12345;
private Button accessorButton;//this will not be button ?
public static final int accessorID=54321;
public ItemView(Context context) {
super(context);
}
public void arrange(){
}
public void setView(Context context){
int l=super.getLeft();
int r=super.getRight();
int t=super.getTop();
int b=super.getBottom();
icon=new ImageView(context);
icon.setImageResource(R.drawable.star);
addView(icon);
accessorButton=new Button(context);
accessorButton.setText("accessor");
addView(accessorButton);
// icon.layout(l+5, t+5, l+100, b-5);
//accessorButton.layout(r-100, t+5, r-10, b-5);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
// TODO Auto-generated method stub
super.onLayout(changed, l, t, r, b);
}
}
et j'ai mises en page de l'enfant, l'un d'entre eux est:
public class ItemPlainView extends ItemView{
private TextView text;
public ItemPlainView(Context context) {
super(context);
setView(context);
}
public void setView(Context context){
super.setView(context);
text=new TextView(context);
text.setText("plain view text");
addView(text);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
// TODO Auto-generated method stub
super.onLayout(changed, l, t, r, b);
}
public TextView getText() {
return text;
}
public void setText(TextView text) {
this.text = text;
}
@Override
public void arrange() {
// TODO Auto-generated method stub
}
}
Quand je lance le code, il me donne naturellement une icône étoile, un bouton et après un TextView . Je dois remplacer et redimensionner mes objets. Pour cet exemple, je dois mettre l'icône en forme d'étoile sur le côté gauche de TextView et le bouton sur le côté droit. Considérant cette vue hiérarchique, comment puis-je faire cela?
Merci
Je ne comprends pas pourquoi vous n'avez pas la disposition dans un fichier XML? Vous ne pouvez rien faire en XML pour le moment. – dymmeh
Je crée ma mise en page et les vues internes sur le choix, il y en a beaucoup et j'ai besoin de tout paramétrer dans l'exécution. J'ai aussi mis ces mises en page de manière hiérarchique. Je pensais que cela m'apporterait beaucoup de confort de codage – ikbal