Android क्या करता है ClipToPadding विशेषता क्या है?


171

मैं जानना चाहूंगा कि एंड्रॉइड में clipToPaddingविशेषता क्या ViewGroupहै?

मैं डॉक्स और कुछ वेबसाइटों के माध्यम से गया हूं, लेकिन कोई भी नहीं आया है वास्तव में समझाता हूं कि यह क्या करता है और इसका क्या मतलब है, अच्छी तरह से कोई भी नहीं जिसे मैं वास्तव में समझ सकता हूं इसलिए मैंने सोचा कि यह यहां पूछने के लिए एक अच्छा विचार हो सकता है।

जवाबों:


421

स्क्रॉल करने वाले दृश्यों के लिए आप क्लिपटाउडिंग का उपयोग कर सकते हैं। मान लें कि आपके पास उदाहरण के लिए एक सूची है और आपको शीर्ष और नीचे की ओर पैडिंग सेट है। आम तौर पर पैडिंग दिखाई देती है कोई फर्क नहीं पड़ता कि कौन से आइटम स्क्रीन पर दिखाई दे रहे हैं। नीचे दिए गए चित्र 10 वस्तुओं के साथ एक सूची का प्रतिनिधित्व करते हैं, लेकिन केवल 4 स्क्रीन पर दिखाई देते हैं, डिफ़ॉल्ट क्लिप के साथ सेटिंग्स।

  • (गद्दी)
  • आइटम 4
  • आइटम 5
  • आइटम 6
  • आइटम 7
  • (गद्दी)

अब यदि आप clipToPadding="false"केवल सामान्य रूप से पूरे दृश्य पर लागू होने के बजाय इसे सेट करना चाहते थे, तो यह केवल अंतिम आइटम के लिए पैडिंग लागू होता है, यह वही है जो आप उसी परिदृश्य में देखेंगे:

  • आइटम 4
  • आइटम 5
  • आइटम 6
  • आइटम 7

अब यदि आप सूची में ऊपर या नीचे स्क्रॉल करना चाहते हैं, तो यह वही है जो आप देखेंगे:

  • (गद्दी)
  • वस्तु 1
  • आइटम 2
  • आइटम 3
  • आइटम 4

या

  • आइटम 7
  • आइटम 8
  • आइटम 9
  • आइटम 10
  • (गद्दी)

इसके लिए एक व्यावहारिक उपयोग है यदि आपके पास उदाहरण के लिए एक फ़्लोटिंग एक्शन बटन है, तो आपको FAB द्वारा बाधित किए बिना नीचे की वस्तु को देखा जा सकता है, यह सुनिश्चित करने के लिए नीचे पैडिंग के साथ संयुक्त क्लिपट्यूडिंग का उपयोग करना चाहिए।

क्या इसका कोई मतलब है?


59
यदि आधिकारिक डॉक्स अन्य विषयों के लिए इस तरह की व्याख्या देना शुरू कर दें तो मैं भुगतान करने के लिए तैयार हूं
मनीष कुमार शर्मा

क्या यह केवल recyclerview या किसी भी दृश्यसमूह पर लागू होता है?
रामप्रसाद बिस्मिल

मुझे यह टिप्पणी पसंद है और हमेशा मुझे लगता है कि मुझे गद्दी के लिए एक क्लिप का सामना करना पड़ा है! धन्यवाद :)
पोल

बहुत अच्छी व्याख्या! बधाई!
मेकॉन कार्डसो

302

मुझे पता है कि टॉप रेटेड उत्तर पाठ के माध्यम से स्पष्ट रूप से समझाता है, लेकिन जैसा कि कहा गया है,

" एक तस्वीर हजार शब्दों के लायक है "

यहाँ एक GIF है जिसका मूल्य 1500 दर्शाया गया है:

(बाएं: clipToPadding = "true"अधिकार: clipToPadding = "false")

यहां छवि विवरण दर्ज करें


6
फिर भी किसी तरह पाठ-आधारित उत्तर समझना आसान है;) हालांकि विज़न के लिए धन्यवाद!
ट्वीस्टेरोब

2
चित्र शब्दों की तुलना में बहुत अधिक कहते हैं, लेकिन शब्द बहुत अधिक पूर्ण थे ... यहाँ सही सूची का अंत नहीं दिखाया गया है कि इसके लिए क्या हुआ अगर यह नीचे पैडिंग है ...
MHSFisher

10

इसका एक अच्छा उपयोग https://www.youtube.com/watch?v=O47H4PxMf9U ( Udacity के मटीरियल डिज़ाइन कोर्स का हिस्सा) clipToPaddingमें वर्णित है

clipToPadding="false"स्क्रॉलिंग दृश्य का उपयोग शीर्ष Google मानचित्र आइकन पर स्क्रॉल करता है। यह दोनों एक ही के अंदर होने के कारण है FrameLayout

google मैप्स का google play store, cliptopadding दिखा रहा है


6

मैं आपको इस लेख https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g पर एक नज़र डालने की सलाह देता हूं

या हो सकता है कि आप चाहते हैं कि आपका RecyclerView एक पारदर्शी नेविगेशन बार के नीचे स्क्रॉल करे - Android का उपयोग करके: FitSystemWindows = "true" Android के साथ संयोजन में: clipToPadding = "false", आपकी स्क्रॉलिंग सामग्री नियंत्रण के पीछे होगी, लेकिन नीचे की ओर स्क्रॉल किए जाने पर अंतिम आइटम अभी भी नेविगेशन पट्टी से ऊपर हो गद्देदार हो जाएगा (बजाय छिपा नीचे!)।


-2

परिभाषित करता है कि क्या ViewGroupअपने बच्चों को क्लिप करेगा और किसी भी तरह EdgeEffectसे इसकी पैडिंग के लिए आकार (लेकिन क्लिप नहीं) , यदि पैडिंग शून्य नहीं है। यह गुण trueडिफ़ॉल्ट रूप से सेट है ।

एक बूलियन मान हो सकता है, जैसे "सच" या "गलत"।

संबंधित तरीके:

setClipToPadding(boolean)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.