Saya ingin tahu untuk apa clipToPaddingatribut ViewGroupdi Android?
Saya telah membaca dokumen dan beberapa situs web tetapi tidak ada yang saya temui yang benar-benar menjelaskan apa fungsinya dan apa artinya, baik tidak ada yang benar-benar dapat saya pahami, jadi saya pikir mungkin ada baiknya bertanya di sini.
Anda dapat menggunakan clipToPadding untuk tampilan yang menggulir. Misalnya Anda memiliki tampilan daftar dan Anda memiliki bantalan yang ditetapkan di bagian atas dan bawah. Biasanya lapisan terlihat tidak peduli item mana yang terlihat di layar. Diagram di bawah ini merupakan daftar dengan 10 item tetapi hanya 4 yang terlihat di layar, dengan pengaturan clipToPadding default:
(lapisan)
item 4
item 5
item 6
item 7
(lapisan)
Sekarang jika Anda ingin mengatur clipToPadding="false"alih-alih hanya diterapkan secara normal ke seluruh tampilan, itu hanya menerapkan padding ke item akhir, ini adalah apa yang akan Anda lihat dalam skenario yang sama:
item 4
item 5
item 6
item 7
Sekarang jika Anda menggulir ke bagian atas atau bawah daftar, inilah yang akan Anda lihat:
(lapisan)
barang 1
item 2
item 3
item 4
ATAU
item 7
item 8
item 9
item 10
(lapisan)
Penggunaan praktis untuk ini adalah jika Anda memiliki Floating Action Button misalnya, Anda harus menggunakan clipToPadding dikombinasikan dengan padding bawah untuk memastikan keseluruhan item bawah dapat dilihat tanpa terhalang oleh FAB.
Namun entah bagaimana jawaban berbasis teks lebih mudah dipahami;) Terima kasih atas vis!
TWiStErRob
2
gambar mengatakan lebih dari sekadar kata-kata, tetapi kata-kata jauh lebih lengkap ... di sini tidak diperlihatkan akhir dari daftar yang tepat bahwa apa yang terjadi jika itu memiliki padding bawah ...
Atau mungkin Anda ingin RecyclerView Anda menggulir di bawah bilah navigasi transparan - dengan menggunakan android: fitsSystemWindows = "true" dalam hubungannya dengan android: clipToPadding = "false", konten gulir Anda akan berada di belakang kontrol tetapi, ketika digulir ke bawah, item terakhir masih akan diisi di atas bilah navigasi (daripada disembunyikan di bawah!).
Menentukan apakah ViewGroupakan klip anak-anaknya dan mengubah ukuran (tetapi bukan klip) apa pun EdgeEffectuntuk padding-nya, jika padding tidak nol. Properti ini diatur truesecara default.
Mungkin berupa nilai boolean, seperti "benar" atau "salah".
Saya tahu bahwa jawaban teratas menjelaskan hal ini dengan cukup jelas melalui teks tetapi seperti yang dikatakan,
" Sebuah gambar bernilai ribuan kata "
Berikut adalah GIF senilai 1500 yang menggambarkan hal yang sama:
(Kiri:
clipToPadding = "true"
Kanan:clipToPadding = "false"
)sumber
Penggunaan yang bagus
clipToPadding
dijelaskan dalam https://www.youtube.com/watch?v=O47H4PxMf9U (bagian dari kursus Desain Bahan Udacity )Menggunakan
clipToPadding="false"
membuat tampilan gulir gulir di atas ikon Google Maps. Ini karena keduanya berada di dalam yang samaFrameLayout
.sumber
Saya sarankan Anda untuk melihat artikel ini https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g
sumber
Menentukan apakah
ViewGroup
akan klip anak-anaknya dan mengubah ukuran (tetapi bukan klip) apa punEdgeEffect
untuk padding-nya, jika padding tidak nol. Properti ini diaturtrue
secara default.Mungkin berupa nilai boolean, seperti "benar" atau "salah".
Metode terkait:
setClipToPadding(boolean)
sumber