Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Membungkus Widget ke Berbilang Baris dalam Android?

Bagaimanakah Saya Boleh Membungkus Widget ke Berbilang Baris dalam Android?

DDD
Lepaskan: 2024-11-11 17:42:03
asal
451 orang telah melayarinya

How Can I Wrap Widgets to Multiple Lines in Android?

Reka Letak Widget Pemecah Baris untuk Android: Reka Letak Tersuai untuk Membungkus Widget

Masalah:

Soalan ini menangani keperluan untuk susun atur yang memaparkan jujukan widget dalam format berbalut, serupa dengan bagaimana teks dipersembahkan pada skrin. Ruang mendatar yang tersedia tidak mencukupi untuk memuatkan semua widget dalam satu baris, jadi reka letak hendaklah membalut "ayat" ini ke baris seterusnya.

Penyelesaian:

The kod yang disediakan menunjukkan penciptaan susun atur tersuai yang dipanggil "PredicateLayout" yang memenuhi ini keperluan:

public class PredicateLayout extends ViewGroup {...}
Salin selepas log masuk

Reka letak ini menyusun widget kanak-kanak dengan cekap dengan cara yang serupa dengan teks, memaparkannya satu baris pada satu masa dan membalut dengan lancar ke baris berikutnya jika perlu.

Pelaksanaan Sorotan:

Pelaksanaan melibatkan mengatasi kaedah berikut untuk menentukan reka letak tingkah laku:

  • onMeasure mengira dimensi reka letak dan anak-anaknya berdasarkan lebar dan ketinggian yang tersedia.
  • generateDefaultLayoutParams menetapkan parameter reka letak lalai untuk widget kanak-kanak.
  • checkLayoutParams memastikan bahawa parameter widget kanak-kanak serasi dengan reka letak.
  • onLayout meletakkan widget kanak-kanak dalam reka letak berdasarkan dimensi diukur dan ruang yang tersedia.

Hasil:

Tersuai PredicateLayout menyelesaikan masalah dengan mendayakan widget disusun dengan cara pemecahan baris, sama seperti cara teks dipaparkan. Reka letak yang terhasil secara visual menyerupai gelagat yang diingini bagi widget yang dibalut:

[Hello] [Hello] [Hello] [Hello] [Hello]
[Hello] [Hello] [Hello] [Hello]
Salin selepas log masuk

Maklumat Tambahan:

Penyelesaian ini merupakan bukti konsep dan mungkin mendapat manfaat daripada peningkatan selanjutnya. Maklum balas dan cadangan adalah dialu-alukan. Reka letak dan kod XML untuk PredicateLayout disediakan untuk pelaksanaan yang mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membungkus Widget ke Berbilang Baris dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan