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 weight
membre donc ce n'est pas bon. Et cela ne fonctionne pas si vous le passez lp
dans 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.