Android clipToPadding Attribute ne yapıyor?


171

clipToPaddingÖzelliğin ViewGroupAndroid'de ne için olduğunu bilmek ister misiniz ?

Dokümanlar ve bazı web siteleri üzerinden geçtim, ancak karşılaştığım hiçbiri aslında ne yaptığını ve ne anlama geldiğini açıklamıyor, aslında anlayamadığım hiçbir şey yok, bu yüzden burada sormanın iyi bir fikir olabileceğini düşündüm.

Yanıtlar:


421

Kayan görünümler için clipToPadding kullanabilirsiniz. Örneğin bir liste görünümünüz olduğunu ve üstte ve altta dolgu kullandığınızı varsayalım. Ekranda hangi öğeler görünür olursa olsun normalde dolgu görülebilir. Aşağıdaki şema 10 öğeli bir listeyi temsil eder, ancak varsayılan clipToPadding ayarlarıyla ekranda yalnızca 4 tanesi görünür:

  • (dolgu malzemesi)
  • madde 4
  • madde 5
  • madde 6
  • madde 7
  • (dolgu malzemesi)

Şimdi clipToPadding="false"tüm görünüme normal olarak uygulamak yerine ayarlayacaksanız , dolgu yalnızca son öğelere uygulanır, aynı senaryoda gördüğünüz şey budur:

  • madde 4
  • madde 5
  • madde 6
  • madde 7

Şimdi listenin en üstüne veya en altına kaydırmak isteseydiniz, şunu görürdünüz:

  • (dolgu malzemesi)
  • madde 1
  • madde 2
  • madde 3
  • madde 4

VEYA

  • madde 7
  • madde 8
  • madde 9
  • madde 10
  • (dolgu malzemesi)

Bunun için pratik bir kullanım, örneğin, Yüzen Eylem Düğmeniz varsa, alt öğenin bütününün FAB tarafından engellenmeden görülmesini sağlamak için alt dolgu ile birleştirilmiş clipToPadding kullanmanızdır.

bu mantıklı mı?


59
Resmi belgeler diğer konular için bu tür bir açıklama yapmaya başlarsa ödemeye hazırım
Manish Kumar Sharma

Yalnızca geri dönüşüm görünümüne veya herhangi bir görünüm grubuna mı uygulanır?
RamPrasadBismil

Bu yorumu seviyorum ve her zaman dolgu için bir klibi karşı karşıya gelmek zorunda! Teşekkürler :)
Pol

Çok güzel bir açıklama! Tebrikler!
Maycon Cardoso

302

En yüksek puanlı cevabın bunu metin yoluyla oldukça açık bir şekilde açıkladığını biliyorum, ancak söylendiği gibi,

" Bir resim bin kelimeye bedeldir "

İşte aynı tasvir eden 1500 değerinde bir GIF:

(Sol: clipToPadding = "true"Sağ: clipToPadding = "false")

resim açıklamasını buraya girin


6
Yine de bir şekilde metin tabanlı cevapların anlaşılması daha kolaydır;) Vis için teşekkürler!
TWiStErRob

2
resim kelimelerden çok daha fazlasını söylüyor, ancak kelimeler çok daha eksiksizdi ... burada, altta dolgu varsa ne olduğunu doğru listenin sonu göstermedi ...
MHSFisher


6

Bu makaleye göz atmanızı öneririm https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g

Ya da RecyclerView'inizin android: fitsSystemWindows = ”true” ile birlikte android: clipToPadding = ”false” kullanarak saydam bir gezinme çubuğunun altına kaymasını istiyorsanız, kaydırma içeriğiniz kontrollerin arkasında olacaktır, ancak en alta kaydırıldığında, son öğe yine de gezinme çubuğunun üzerinde olmak üzere doldurulur (altında gizlenmek yerine!).


-2

Doldurma sıfır değilse, alt öğelerini kırpıp küçültüp doldurmayacağını ViewGroup(ancak kırpmayacağını) tanımlar EdgeEffect. Bu özellik,true varsayılan .

"True" veya "false" gibi bir boole değeri olabilir.

İlgili yöntemler:

setClipToPadding(boolean)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.