2010-11-16 5 views
11

संपत्ति एंड्रॉयड: layout_gravity = "clip_vertical | क्षैतिज" करता है निम्नलिखित के रूप में SDK दस्तावेज़ में उल्लेख किया है:क्या एंड्रॉयड है: layout_gravity = "clip_vertical" वास्तव में

अतिरिक्त विकल्प करने के लिए सेट किया जा सकता है के शीर्ष और/या नीचे किनारों वाला बच्चा अपने कंटेनर के सीमाओं पर चिपका हुआ है। क्लिप खड़ी गुरुत्वाकर्षण के आधार पर किया जाएगा: एक शीर्ष गुरुत्वाकर्षण निचले किनारे, एक नीचे गुरुत्वाकर्षण क्लिप ऊपरी किनारे क्लिप होगा, और न तो दोनों किनारों क्लिप होगा।

लेकिन मैं इस बात का कुछ भी मेरे अनुप्रयोगों

तो इस संपत्ति बिल्कुल के उद्देश्य क्या है में नहीं देख सकते हैं?

धन्यवाद

उत्तर

19

लघु संस्करण:

clip_horizontal और, जो अपने आप दृश्य की माप के लिए लागू clip_vertical से पहले (जैसे एक BitmapDrawable में छवि के रूप में) किसी भी सामग्री को बनाए जाते हैं।


लांग संस्करण:

मैं clip_horizontal और clip_vertical पर कुछ इसी तरह के भ्रम की स्थिति आई है। (मेरे मामले में, यह एंड्रॉइड से संबंधित था: बिटमैप ड्रायरेबल के लिए गुरुत्वाकर्षण, लेकिन यह लागू होने के लिए पर्याप्त है।)

प्रलेखन से मैंने सोचा कि एंड्रॉइड की तरह कुछ: गुरुत्वाकर्षण = "शीर्ष | बाएं | clip_vertical" बिटमैप दृश्य के शीर्ष बाएं कोने में छवि के शीर्ष बाएं कोने को स्थानांतरित करने का कारण बनता है, और यदि बिटमैप दृश्य से लंबा था, तो दृश्य के निचले किनारे पर "क्लिप" किया जाएगा। दूसरे शब्दों में, केवल बिटमैप के रूप में दिखाएं कि दृश्य प्रकट करने के लिए काफी लंबा है; बिटमैप को फैलाएं, लेकिन इसके बजाय केवल जो भी फिट होगा, दिखाएं, शेष को नीचे किनारे के नीचे विस्तारित करें।

हालांकि, विपरीत हुआ: जब मैंने क्लिप_वर्टल सेट किया, तो दृश्य की ऊंचाई के भीतर फिट करने के लिए एक बड़ा बिटमैप लंबवत रूप से squished था।

मंच/चौखटे/कोर/जावा/एंड्रॉयड/मेरी गलती देखें/Gravity.java, मुझे एहसास हुआ में applyDisplay() विधि परीक्षण करने के बाद:

यह बिटमैप छवि कि जा रहा था नहीं है फिसल जाए, लेकिन देखें - कंटेनर का वास्तविक आकार अंत में छवि को प्रस्तुत किया जाता है।

मेरे मामले में क्लिप_वर्टिकल सेट करना मतलब नहीं था "छवि को नीचे किनारे पर क्लिप करें," इसका मतलब था "बिटमैप ड्रावेबल के दृश्य को स्वयं क्लिप करें ताकि इसकी ऊंचाई उसके मूल कंटेनर की ऊंचाई से मेल खाती हो" ... जिसके बाद छवि "squished" होने के रूप में यह उस छोटी ऊंचाई को भर दिया।

तो, महत्वपूर्ण बात यह एंड्रॉयड के साथ याद करने के लिए: गुरुत्वाकर्षण और एंड्रॉयड: layout_gravity कि clip_horizontal है और clip_vertical ही देखने की माप के लिए लागू होते हैं, किसी भी सामग्री से पहले (जैसे मेरी BitmapDrawable के रूप में) बनाए जाते हैं।

+0

आपकी व्याख्या के लिए धन्यवाद! ऐसा लगता है जैसे किसी ने मेरे एंड्रॉइड ज्ञान के अंधेरे कोने में प्रकाश डाला। चीयर्स! – SlashG

0

हो सकता है कि कोई प्रभाव नहीं है क्योंकि horizontalandroid:layout_gravity में परिभाषित नहीं किया गया है। clip_vertical सिर्फ एक अतिरिक्त संपत्ति है जिसका उपयोग मूल संपत्ति के अतिरिक्त किया जाता है।

+0

मुझे खेद है, लेकिन अगर मैंने इसे लिखा है: android: layout_gravity = "top | clip_vertical" मुझे अभी भी कुछ भी नहीं बदला है –

+0

आपको उस स्थिति में अपना विचार प्राप्त करने की आवश्यकता है जहां यह वास्तव में क्लिप होगा। अधिकांशतः यह तब होता है जब विंडो मैनेजर के साथ प्रयोग किया जाता है (कौन सी खिड़कियां स्क्रीन आदि के साथ क्लिप करेंगी)। – hackbod

+0

क्या आप और समझा सकते हैं? –

0

ऑब्जेक्ट के किनारों को क्षैतिज धुरी के साथ अपने कंटेनर पर क्लिप करने के लिए ध्वजांकित करें।

check this

संबंधित मुद्दे