Apakah mungkin ketika membuat RelativeLayout saat runtime untuk menetapkan yang setara dengan android:layout_below
pemrograman?
203
Apakah mungkin ketika membuat RelativeLayout saat runtime untuk menetapkan yang setara dengan android:layout_below
pemrograman?
Iya:
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.below_id);
viewToLayout.setLayoutParams(params);
Pertama, kode menciptakan params tata letak baru dengan menentukan tinggi dan lebar. The addRule
Metode menambahkan setara dengan xml dengan benar android:layout_below
. Maka Anda cukup memanggil View#setLayoutParams
tampilan yang Anda ingin memiliki param tersebut.
Atau Anda dapat menggunakan parameter tampilan layout saat ini dan memodifikasinya:
sumber
LayoutParams
daripada menciptakan yang baru. Sebenarnya, ini harus diterima sebagai jawaban yang benar.Sementara jawaban @jackofallcode benar, ia dapat ditulis dalam satu baris:
sumber
LayoutParams
untuk mengaturnya dengansetLayoutParams
Versi Kotlin dengan fungsi infix
Maka Anda dapat menulis:
Atau Anda dapat menyebutnya sebagai fungsi normal:
sumber