J'essaie d'utiliser Java ( pas XML ) pour créer un LinearLayout avec des boutons qui remplissent l'écran et ont des marges. Voici du code qui fonctionne sans marges:
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
for (int r = 0; r < 6; ++r) {
Button btn = new Button(this);
btn.setText("A");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose!
lp.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(btn, lp);
}
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
setContentView(buttonsView, lp);
Donc ça marche bien, mais comment diable donnez-vous les marges des boutons pour qu'il y ait de l'espace entre eux? J'ai essayé d'utiliser LinearLayout.MarginLayoutParams, mais cela n'a pas de weightmembre donc ce n'est pas bon. Et cela ne fonctionne pas si vous le passez lpdans son constructeur non plus.
Est-ce impossible? Parce que ça y ressemble, et ce ne sera pas la première tâche de mise en page Android que vous ne pouvez faire qu'en XML.