Di Android, saat tata letak widget, apa bedanya fill_parent
( match_parent
di API Level 8 dan lebih tinggi) dan wrap_content
?
Apakah ada dokumentasi yang bisa Anda tunjuk? Saya tertarik untuk memahaminya dengan sangat baik.
android
layout
user-interface
pupeno
sumber
sumber
fill_parent
namanya diubahmatch_parent
di API Level 8 dan lebih tinggi.Jawaban:
Atribut mana pun dapat diterapkan pada tampilan (kontrol visual) horizontal atau vertikal. Ini digunakan untuk mengatur ukuran Tampilan atau Tata Letak berdasarkan konten atau ukuran tata letak induknya daripada menentukan dimensi secara eksplisit.
fill_parent
(tidak digunakan lagi dan diganti namanyaMATCH_PARENT
di API Level 8 dan lebih tinggi)Mengatur tata letak widget ke fill_parent akan memaksanya meluas untuk mengambil ruang sebanyak yang tersedia di dalam elemen tata letak tempat ia ditempatkan. Ini kira-kira setara dengan mengatur gaya dermaga Kontrol Bentuk Windows ke
Fill
.Mengatur tata letak tingkat atas atau kontrol ke fill_parent akan memaksanya untuk mengambil seluruh layar.
wrap_content
Mengatur ukuran tampilan ke wrap_content akan memaksanya untuk memperluas hanya cukup jauh untuk mengandung nilai-nilai (atau kontrol anak) yang dikandungnya. Untuk kontrol - seperti kotak teks (TextView) atau gambar (ImageView) - ini akan membungkus teks atau gambar yang sedang ditampilkan. Untuk elemen tata letak, itu akan mengubah ukuran tata letak agar sesuai dengan kontrol / tata letak ditambahkan sebagai anak-anaknya.
Ini kira-kira setara dengan menyetel properti Windows Form Control
Autosize
ke True.Dokumentasi Online
Ada beberapa detail dalam dokumentasi kode Android di sini .
sumber
fill_parent
(usang) =match_parent
Batas tampilan anak diperluas untuk mencocokkan perbatasan tampilan induk.
wrap_content
Batas tampilan anak membungkus kontennya sendiri.
Berikut adalah beberapa gambar untuk membuat semuanya lebih jelas. Hijau dan merah
TextViews
. PutihLinearLayout
menunjukkan melalui.Setiap
View
(aTextView
, anImageView
, aButton
, dll.) Perlu mengaturwidth
danheight
tampilan. Di file tata letak xml, yang mungkin terlihat seperti ini:Selain mengatur lebar dan tinggi ke
match_parent
atauwrap_content
, Anda juga bisa mengaturnya ke beberapa nilai absolut:Namun, secara umum itu tidak sebagus karena tidak fleksibel untuk perangkat dengan ukuran berbeda. Setelah Anda mengerti
wrap_content
danmatch_parent
, hal selanjutnya yang harus dipelajari adalahlayout_weight
.Lihat juga
XML untuk gambar di atas
LinearLayout Vertikal
LinearLayout Horisontal
Catatan
Penjelasan dalam jawaban ini mengasumsikan tidak ada margin atau bantalan . Tetapi kalaupun ada, konsep dasarnya masih sama. Batas tampilan / spasi hanya disesuaikan dengan nilai margin atau padding.
sumber
fill_parent
akan membuat lebar atau tinggi elemen menjadi sebesar elemen induk, dengan kata lain, wadah.wrap_content
akan membuat lebar atau tinggi menjadi sebesar yang dibutuhkan untuk mengandung elemen-elemen di dalamnya.Klik di sini untuk Referensi DRO ANDROID
sumber
fill_parent
:Komponen tata letak diatur untuk
fill_parent
akan wajib diperluas untuk mengisi anggota unit tata letak, sebanyak mungkin di ruang. Ini konsisten dengan properti dockstyle dari kontrol Windows. Tata letak atau kontrol yang ditetapkan atasfill_parent
akan memaksanya untuk mengambil seluruh layar.wrap_content
Siapkan tampilan ukuran
wrap_content
akan dipaksa untuk melihat diperluas untuk menampilkan semua konten. The TextView dan ImageView kontrol, misalnya, diatur untukwrap_content
akan menampilkan seluruh teks dan gambar internal. Elemen tata letak akan mengubah ukuran sesuai dengan konten. Siapkan tampilan ukuran atribut Autosize yangwrap_content
kurang lebih setara untuk mengatur kontrol Windows untuk True.Untuk perinciannya Silakan Periksa tautan ini: http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
sumber