Ekranı dolduran ve kenar boşlukları olan bir LinearLayout oluşturmak için Java ( XML değil ) kullanmaya çalışıyorum . Kenar boşlukları olmadan çalışan kod:
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);
Peki, bu iyi çalışıyor, ancak aralarında boşluk olması için düğmelerin kenar boşluklarını nasıl verirsiniz? Kullanmayı denedim LinearLayout.MarginLayoutParams
, ancak hiçbir weight
üyesi yok, bu yüzden iyi değil. Ve lp
yapıcısına da geçerseniz işe yaramaz .
Bu imkansız mı? Kesinlikle göründüğü için ve yalnızca XML'de yapabileceğiniz ilk Android düzeni görevi olmaz.