लघु संस्करण:
clip_horizontal और, जो अपने आप दृश्य की माप के लिए लागू clip_vertical से पहले (जैसे एक BitmapDrawable में छवि के रूप में) किसी भी सामग्री को बनाए जाते हैं।
लांग संस्करण:
मैं clip_horizontal और clip_vertical पर कुछ इसी तरह के भ्रम की स्थिति आई है। (मेरे मामले में, यह एंड्रॉइड से संबंधित था: बिटमैप ड्रायरेबल के लिए गुरुत्वाकर्षण, लेकिन यह लागू होने के लिए पर्याप्त है।)
प्रलेखन से मैंने सोचा कि एंड्रॉइड की तरह कुछ: गुरुत्वाकर्षण = "शीर्ष | बाएं | clip_vertical" बिटमैप दृश्य के शीर्ष बाएं कोने में छवि के शीर्ष बाएं कोने को स्थानांतरित करने का कारण बनता है, और यदि बिटमैप दृश्य से लंबा था, तो दृश्य के निचले किनारे पर "क्लिप" किया जाएगा। दूसरे शब्दों में, केवल बिटमैप के रूप में दिखाएं कि दृश्य प्रकट करने के लिए काफी लंबा है; बिटमैप को फैलाएं, लेकिन इसके बजाय केवल जो भी फिट होगा, दिखाएं, शेष को नीचे किनारे के नीचे विस्तारित करें।
हालांकि, विपरीत हुआ: जब मैंने क्लिप_वर्टल सेट किया, तो दृश्य की ऊंचाई के भीतर फिट करने के लिए एक बड़ा बिटमैप लंबवत रूप से squished था।
मंच/चौखटे/कोर/जावा/एंड्रॉयड/मेरी गलती देखें/Gravity.java, मुझे एहसास हुआ में applyDisplay() विधि परीक्षण करने के बाद:
यह बिटमैप छवि कि जा रहा था नहीं है फिसल जाए, लेकिन देखें - कंटेनर का वास्तविक आकार अंत में छवि को प्रस्तुत किया जाता है।
मेरे मामले में क्लिप_वर्टिकल सेट करना मतलब नहीं था "छवि को नीचे किनारे पर क्लिप करें," इसका मतलब था "बिटमैप ड्रावेबल के दृश्य को स्वयं क्लिप करें ताकि इसकी ऊंचाई उसके मूल कंटेनर की ऊंचाई से मेल खाती हो" ... जिसके बाद छवि "squished" होने के रूप में यह उस छोटी ऊंचाई को भर दिया।
तो, महत्वपूर्ण बात यह एंड्रॉयड के साथ याद करने के लिए: गुरुत्वाकर्षण और एंड्रॉयड: layout_gravity कि clip_horizontal है और clip_vertical ही देखने की माप के लिए लागू होते हैं, किसी भी सामग्री से पहले (जैसे मेरी BitmapDrawable के रूप में) बनाए जाते हैं।
स्रोत
2011-06-22 22:56:34
आपकी व्याख्या के लिए धन्यवाद! ऐसा लगता है जैसे किसी ने मेरे एंड्रॉइड ज्ञान के अंधेरे कोने में प्रकाश डाला। चीयर्स! – SlashG