Jing Dinamik dalam Reka Letak Linear
Dalam pembangunan Android, reka letak memainkan peranan penting dalam mengatur dan memaparkan elemen antara muka pengguna. Keperluan biasa untuk susun atur ialah keupayaan untuk menentukan margin antara elemen. Walaupun XML menyediakan cara intuitif untuk mentakrifkan margin, pembangun mungkin perlu membuat reka letak secara pengaturcaraan untuk memastikan fleksibiliti atau mengendalikan kandungan dinamik.
Soalan ini meneroka cara menambah margin pada butang dalam LinearLayout secara pengaturcaraan. Kod yang disediakan berjaya mencipta LinearLayout dengan butang yang dijajarkan secara menegak merentangi keseluruhan skrin menggunakan LinearLayout.LayoutParams. Walau bagaimanapun, menetapkan margin antara butang menggunakan LinearLayout.MarginLayoutParams terbukti mencabar kerana kekurangan ahli pemberat.
Penyelesaian terletak pada penggunaan kaedah setMargins() bagi objek LinearLayout.LayoutParams. Kaedah ini membenarkan untuk menentukan margin dalam piksel untuk tepi atas, kanan, kiri dan bawah paparan.
<code class="java">LinearLayout ll = new LinearLayout(this); ll.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(30, 20, 30, 0); Button okButton=new Button(this); okButton.setText("some text"); ll.addView(okButton, layoutParams);</code>
Dalam kod ini, LinearLayout dibuat dengan orientasi menegak. Contoh LinearLayout.LayoutParams kemudiannya dimulakan untuk menentukan lebar dan ketinggian butang. Kaedah setMargins() dipanggil untuk menetapkan nilai piksel untuk jidar yang diingini, yang dalam kes ini menghasilkan 30px jidar atas dan kiri serta 20px jidar bawah.
Akhir sekali, Butang dibuat, diberi label teks, dan ditambahkan pada LinearLayout dengan layoutParams tersuai. Pendekatan ini secara pemrograman mentakrifkan jidar antara butang, memastikan jarak yang konsisten dan reka letak yang betul dalam LinearLayout.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Margin secara Program pada Butang dalam LinearLayout?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!