Saya agak bingung tentang dua properti XML: match_parent
dan fill_parent
. Tampaknya keduanya sama. Apakah ada perbedaan di antara mereka?
android
android-layout
vnshetty
sumber
sumber
Jawaban:
Mereka adalah hal yang sama (di API Level 8+). Gunakan
match_parent
.http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
sumber
-1
. Saya Anda merasa lebih baik tentang hal itu, saya tidak mendapatkan kemajuan dalam hal itu baik ... :-)-1
. Anda mendapatkan kesalahan karena platform lama tidak tahu tentang nama baru dari konstanta yang sama.Google mengubah nama untuk menghindari kebingungan.
Masalah dengan nama lama
fill parent
adalah bahwa itu menyiratkan yang mempengaruhi dimensi induk, sementaramatch parent
lebih baik menggambarkan perilaku yang dihasilkan - cocokkan dimensi dengan induk.Kedua konstanta menyelesaikan
-1
pada akhirnya, dan menghasilkan perilaku yang identik dalam aplikasi. Ironisnya, perubahan nama ini dibuat untuk memperjelas hal-hal yang tampaknya telah menambah kebingungan daripada menghilangkannya.sumber
Secara fungsional tidak ada perbedaan, Google baru saja mengubah nama dari fill_parent menjadi match_parent, dari API level 8 (Android 2.2). FILL_PARENT masih tersedia untuk alasan kompatibilitas.
LayoutParams.FILL_PARENT
danLayoutParams.MATCH_PARENT
keduanya memiliki nilai -1. Tidak yakin apa yang membuat Google tergoda untuk berubah dari Fill Parent ke Match Parent :)Karena sebagian besar
phones are >= Android 2.2
.. Anda harus menggunakan Match Parent untuk kompatibilitas di masa depan ... tidak yakin kapan mereka akan menghentikan konstanta Fill Parent yang lebih lama!sumber
Demi kompatibilitas, lebih baik tetap menggunakan fill_parent, yaitu, ketika mendukung perangkat API 8 di bawah ini. Tetapi jika aplikasi Anda menargetkan API 8 ke atas, Anda harus menggunakan match_parent sebagai gantinya.
sumber
FILL_PARENT
sudah usang (seperti yang disebutkan oleh Matt Ball di atas), maka satu-satunya pilihan untuk kompatibilitas ke depan adalahMATCH_PARENT
.FILL_PARENT
tidak lagi digunakan dalam API level 8 danMATCH_PARENT
menggunakan API tingkat lebih tinggisumber
match_parent digunakan sebagai pengganti fill_parent dan set itu untuk pergi sejauh orangtua berjalan. Cukup gunakan match_parent dan lupakan tentang fill_parent . Saya benar-benar membuang fill_parent dan semuanya sempurna seperti biasa.
Periksa di sini untuk informasi lebih lanjut.
sumber
Hanya untuk memberikan nama yang lebih dekat dengan tindakan aktualnya .
"fill_parent"
tidak mengisi ruang yang tersisa seperti namanya akan menyiratkan (untuk itu Anda menggunakan atribut bobot). Alih-alih, ini membutuhkan ruang sebanyak induk tata letaknya. Itu sebabnya nama baru itu"match_parent"
sumber
Keduanya memiliki fungsi yang sama. Perbedaannya hanyalah fill_parent digunakan hingga API level 8 dan match_parent digunakan setelah API level 8 atau lebih tinggi.
sumber
Ketika Anda mengatur tata letak
width
danheight
sepertimatch_parent
dalamXML
properti, itu akan menempati area lengkap yang memiliki tampilan induk, yaitu akan sebesar sebesar induk.Induk kelinci berwarna merah dan anak berwarna hijau. Anak-anak menempati semua area. Karena ini dulu
width
danheight
sekarangmatch_parent
.Catatan: Jika orang tua menggunakan bantalan maka ruang itu tidak akan disertakan.
Jadi TextView hight = 300dp (induk hight) - (20 (paddingTop) +10 (paddingBottom)) = (300 - 30) dp = 270 dp
fill_parent Vs match_parent
fill_parent
adalah nama sebelumnya darimatch_parent
Untuk API Level 8 dan lebih tinggi
fill_parent
dinamaimatch_parent
danfill_parent
sudah ditinggalkan sekarang.Begitu
fill_parent
danmatch_parent
sama.Dokumentasi API untuk fill_parent
Tampilan harus sebesar induknya (minus padding). Konstanta ini sudah usang mulai dari API Level 8 dan digantikan oleh {@code match_parent}.
sumber
match_parent, yang artinya tampilan ingin sebesar induknya (minus padding).
wrap_content, yang berarti bahwa tampilan hanya ingin cukup besar untuk melampirkan kontennya (plus padding)
Demi ilustrasi yang lebih baik, saya telah membuat tata letak sampel yang menunjukkan konsep ini. Untuk melihat efeknya, saya menambahkan batas setiap konten textView.
Dalam konten textView "Cocokkan orang tua", kita dapat melihat lebar tata letak itu menyebar dari panjang induknya.
Tapi kita bisa melihat di "Bungkus Konten" textView konten, lebar tata letak itu terbungkus dari konten (Bungkus Konten) panjangnya.
sumber
match_parent
danfill_parent
merupakan properti yang sama, digunakan untuk menentukan lebar atau tinggi tampilan dalam layar penuh secara horizontal atau vertikal.Properti ini digunakan dalam file xml android seperti ini.
atau
fill_parent
digunakan di versi sebelumnya, tetapi sekarang telah ditinggalkan dan diganti olehmatch_parent
. Saya harap ini akan membantu Anda.sumber
fill_parent: Tampilannya harus sebesar induknya.
Sekarang, fill_parent ini sudah tidak digunakan lagi dan digantikan oleh match_parent.
sumber
Untuk saya mengisi induk dan induk pertandingan melakukan fungsi yang sama hanya itu:
fill parent : Digunakan sebelum API 8
match parent Ini digunakan dari API 8+ Fungsi Keduanya Mengisi tampilan induk selain padding
sumber
FILL_PARENT diganti nama menjadi MATCH_PARENT di API Level 8 dan lebih tinggi yang berarti bahwa tampilan ingin sebesar induknya (dikurangi bantalan) - Google
sumber
FILL_PARENT
dihentikan dari API level 8 dan lebih tinggi dan namanya diganti untuk versi atas sebagaiMATCH_PARENT
Keduanya sama
FILL_PARENT
danMATCH_PARENT
,FILL_PARENT
digunakan dalam versi yang lebih rendah kurang dari API level 8 dan MATCH_PATENT digunakan di level API yang lebih tinggi lebih besar dari 8.FILL_PARENT
(berganti nama menjadiMATCH_PARENT
API Level 8 dan lebih tinggi), yang berarti bahwa tampilan ingin sebesar induknya (minus padding)fill_parent
: Tampilan harus sebesar induknya (minus padding). Konstanta ini tidak digunakan lagi mulai dari API Level 8 dan digantikan olehmatch_parent
.Untuk lebih jelasnya silakan kunjungi halaman ini
sumber
1. match_parent
Ketika Anda mengatur lebar dan tinggi tata letak sebagai match_parent, itu akan menempati area lengkap yang dimiliki oleh tampilan induk, yaitu ukurannya akan sebesar induknya.
Catatan : Jika orang tua menggunakan bantalan maka ruang itu tidak akan disertakan.
Ketika kami membuat layout.xml secara default, kami memiliki RelativeLayout sebagai tampilan induk default dengan android: layout_width = "match_parent" dan android: layout_height = "match_parent" yaitu ia menempati lebar dan tinggi layar ponsel sepenuhnya.
Perhatikan juga bahwa bantalan diterapkan ke semua sisi,
Sekarang mari kita tambahkan sub-view LinearLayout dan set layout_width = "match_parent" dan layout_height = "match_parent", tampilan grafis akan menampilkan sesuatu seperti ini,
match_parent_example
Kode
2. fill_parent:
Ini sama dengan match_parent, fill_parent didepresiasi di API level 8. Jadi, jika Anda menggunakan API level 8 atau lebih, Anda harus menghindari penggunaan fill_parent
Mari kita ikuti langkah yang sama seperti yang kita lakukan untuk match_parent, alih-alih gunakan fill_parent di mana-mana.
Anda akan melihat bahwa tidak ada perbedaan perilaku di kedua fill_parent dan pertandingan induk.
sumber