Rumah  >  Artikel  >  Java  >  Bagaimana untuk menetapkan margin untuk butang di dalam LinearLayout secara pemrograman?

Bagaimana untuk menetapkan margin untuk butang di dalam LinearLayout secara pemrograman?

Susan Sarandon
Susan Sarandonasal
2024-11-05 14:06:02846semak imbas

How to set margins for buttons inside a LinearLayout programmatically?

Menetapkan Margin dalam LinearLayout Secara Pengaturcaraan

Untuk mencipta LinearLayout dengan butang jarak sama rata yang menduduki keseluruhan skrin, seseorang mesti menggunakan kod Java sebaliknya daripada XML. Walau bagaimanapun, mencapai margin antara butang dalam senario ini telah terbukti mencabar bagi sesetengah pembangun.

Satu percubaan melibatkan penggunaan LinearLayout.MarginLayoutParams, tetapi ia tidak mempunyai atribut berat dan gagal berfungsi dengan objek parameter reka letak (lp). Akibatnya, nampaknya memanipulasi margin dalam konteks ini mungkin mustahil.

Penyelesaian:

Mujurlah, adalah mungkin untuk melaksanakan fungsi ini dengan pengubahsuaian kecil kepada kod:

<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, parameter reka letak untuk butang dibuat menggunakan LinearLayout.LayoutParams. Kaedah setMargins kemudiannya digunakan untuk menentukan jidar di sekeliling butang, memastikan ia akan dijarakkan daripada butang jirannya.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan margin untuk butang di dalam LinearLayout secara pemrograman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn