Saya mencoba menggunakan Java ( bukan XML ) untuk membuat LinearLayout dengan tombol yang mengisi layar, dan memiliki margin. Berikut adalah kode yang berfungsi tanpa margin:
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);
Jadi itu berfungsi dengan baik, tapi bagaimana Anda memberi Anda margin tombol sehingga ada ruang di antara mereka? Saya mencoba menggunakan LinearLayout.MarginLayoutParams
, tetapi itu tidak memiliki weight
anggota sehingga tidak baik. Dan itu tidak berfungsi jika Anda memasukkannya lp
dalam konstruktornya juga.
Apakah ini tidak mungkin? Karena sudah pasti terlihat, dan itu bukan tugas tata letak Android pertama yang hanya dapat Anda lakukan dalam XML.