Android Documentation says कि दृश्य के लिए दो आकार हैं, मापा आयाम और ड्राइंग आयाम। मापा आयाम माप (onMeasure विधि) में गणना की गई है, जबकि ड्राइंग आयाम स्क्रीन पर वास्तविक आकार हैं। विशेष रूप से, दस्तावेज़ीकरण कहता है कि:एंड्रॉइड एसडीके में getWidth/Height() और getMeasuredWidth/Height() के बीच क्या अंतर है?
ये मान मापा जा सकता है, लेकिन मापित चौड़ाई और ऊंचाई से अलग नहीं होना चाहिए।
तो, मेरा प्रश्न है: ड्राइंग आयाम मापित आयाम से अलग कैसे हो सकता है? onMeasure(int,int) विधि लेआउट आवश्यकताओं का सम्मान करता है, तो (पैरामीटर widthMeasureSpec और heightMeasureSpec, कैसे कर सकता है एसडीके फैसला करता है कि देखने के लिए एक अलग ड्राइंग आकार होना चाहिए?
साथ ही, कैसे/जहां Android Source Code में मापा के रूप में दिया चौड़ाई/ऊंचाई का उपयोग ड्राइंग चौड़ाई/ऊंचाई की गणना करने के लिए किया जाता है? मैंने View source code को देखने का प्रयास किया, लेकिन मुझे यह पता नहीं लगाया जा सकता कि मापा चौड़ाई/ऊंचाई अंतिम चौड़ाई/ऊंचाई की गणना करने के लिए कैसे उपयोग की जाती है। शायद इसके साथ कुछ करना है पैडिंग, लेकिन मुझे यकीन नहीं है।
मुझे लगता है कि यदि स्क्रॉल दृश्य में जोड़ा गया है तो ये उपाय अलग-अलग हो सकते हैं। – Yury
शायद, लेकिन मैंने एक कस्टम व्यू ग्रुप विकसित किया, और यह मेरे कोड में हो रहा है। मैं उस बिंदु तक स्क्रॉल से निपट नहीं रहा हूं जहां यह व्यवहार होता है। तो मुझे लगता है कि इसमें शामिल स्क्रॉल से अधिक होना चाहिए। – lgfischer
मैं पुष्टि करता हूं, मैं एक कस्टम व्यू-ग्रुप को भी एक दिए गए पहलू अनुपात को मजबूर करने के लिए डेवलपर करता हूं: मैंने मापा चौड़ाई और ऊंचाई (कम या बराबर प्रस्तावित) को मजबूर किया, लेकिन परिणामस्वरूप वास्तविक चौड़ाई और ऊंचाई नहीं बदली (मापित नहीं)। स्क्रॉल के साथ कोई संबंध नहीं है। मैं वास्तव में असली चौड़ाई और ऊंचाई को मजबूर करने का कोई रास्ता नहीं ढूंढ सकता। – ARLabs