मैं एक वर्ग है कि एक दृश्य फैली बना लिया है:getLayout पैराम वापस लौट रहे हैं?
public class BoardView extends View {
और मैं आवेदन के main.xml फ़ाइल में चौड़ाई और BoardView की ऊंचाई निर्दिष्ट किया है:
<mypackage.BoardView
android:id="@+id/board"
android:layout_width="270px"
android:layout_height="270px" />
मैं बोर्डव्यू के कन्स्ट्रक्टर से बुलाए गए फ़ंक्शन से चौड़ाई और ऊंचाई प्राप्त करने का प्रयास कर रहा है। यहां मैं यह कर रहा हूं:
ViewGroup.LayoutParams p = this.getLayoutParams();
int h = p.height;
लेकिन getLayoutParams हमेशा शून्य लौट रहा है। कोई विचार क्यों यह काम नहीं कर रहा है?
सहायता के लिए धन्यवाद। मुझे वास्तव में आवश्यक एक्सएमएल विशेषता मान था जिसे मैं कन्स्ट्रक्टर में एट्रिब्यूटसेट से प्राप्त कर सकता था। यहां मेरा (बदसूरत) समाधान है: स्ट्रिंग एनएस = "http://schemas.android.com/apk/res/android"; स्ट्रिंग वी = attrs.getAttributeValue (एनएस, "layout_height"); // कनवर्ट करें "270px" से "270" v = v.replace ("px", ""); // रनटाइम पर यह मान "270.0" v = v.replace ("0", ""); int एच = Integer.parseInt (v); – tronman