मेरे पास एक लेआउट है जो रिश्तेदार आयाम में विजेट के आकार निर्दिष्ट करता है, उदाहरण के लिए:लेआउट की गणना के बाद एंड्रॉइड विजेट का आकार कैसे प्राप्त करें?
<LinearLayout ... layout_height="fill_parent">
<ImageView ... layout_height="wrap_content" />
<TextView ... layout_height="120dp" />
</LinearLayout>
onCreate
के तुरंत बाद, मैं जानना चाहता हूं कि ImageView की ऊंचाई कितनी है। उसको कैसे करे?
नोट: अगर मैं onCreate
में getHeight()
को कॉल करता हूं, तो मुझे 0.
मिलता है। मैंने imageView.postDelayed
भी कोशिश की है, यह 2.1 एमुलेटर पर काम करता है लेकिन 1.5 एमुलेटर पर विफल रहता है (मुझे 0 भी मिला है)।
अंत में, मैंने Handler
बनाने की कोशिश की, और फिर मैं handler.postDelayed
को 10 एमएस देरी के साथ कॉल करता हूं। यह 2.1 और 1.5 एमुलेटर दोनों में काम करता है, लेकिन जब मैं ग्रहण डीबगर में प्रोग्राम शुरू करता हूं तो विफल रहा (इसलिए, मैं निष्कर्ष निकालता हूं कि देरी का उपयोग करने से यह गारंटी नहीं मिलती है कि छविव्यू लेआउट-टेड के बाद ऊंचाई प्राप्त करना होता है।)
बहुत बहुत धन्यवाद। वह रास्ता लगता है। मैं कोशिश करूँगा। – yuku
यह एक बड़ी बाधा आईएमएचओ है। व्यू या लेआउट को ओवरराइड किए बिना या एक बटन जोड़ने के बिना उपायों को प्राप्त करने में सक्षम नहीं है, जिसकी आपको वास्तव में आवश्यकता नहीं है। –