2011-12-19 14 views
6

मैं MyDraw नामक एक कस्टम दृश्य बनाया है, यह मेरा MyDraw कोड,प्रोग्रामेटिक रूप से कस्टम दृश्य के लिए चौड़ाई और ऊंचाई कैसे सेट करें?

public class MyDraw extends View { 


    public MyDraw(Context context) { 
     super(context); 

    } 

    public MyDraw(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 

    } 

    public MyDraw(Context context, AttributeSet attrs) { 
     super(context, attrs); 

    } 
     ........................................ 
} 

मैं पैकेज नाम का उपयोग XML फ़ाइल में देखने को शामिल किया है है। यह ठीक काम कर रहा है। अब मैं रन टाइम में MyDraw के लिए ऊंचाई और चौड़ाई सेट करना चाहते हैं, उसके लिए मैं,

mMyDraw.setLayoutParams(new LayoutParams(220, 300)); 

कोड निम्नलिखित का इस्तेमाल किया है, लेकिन मैं अपवाद मिल की तरह,

java.lang.ClassCastException: एंड्रॉयड। देखें। व्यू ग्रुप $ लेआउट पैराम्स

इस अपवाद को कैसे हल करें? कृपया मेरी मदद करो ..

+1

[एंड्रॉइड सेट ऊंचाई और कस्टम दृश्य की चौड़ाई की दृष्टि से संभावित डुप्लिकेट] (http://stackoverflow.com/questions/5042197/android-set-height-and-width-of-custom-view-programmatically) –

उत्तर

9

अवहेलना onMeasure() विधि, एक नजर है here

+0

धन्यवाद दोस्त .. यह ठीक काम कर रहा है ... धन्यवाद –

18

आप देखें की विधि onMeasure() ओवरराइड चाहिए।

एक अच्छा उदाहरण के लिए आप यहां देख सकते हैं: http://kahdev.wordpress.com/2008/09/13/making-a-custom-android-button-using-a-custom-view/

और एक बहुत ही शांत वीडियो है कि मैं सिफारिश करेंगे यहाँ: http://marakana.com/forums/android/general/563.html

आशा इस मदद करता है!

+1

क्या यह मेरे जैसा ही जवाब नहीं है? क्या आपको लगता है कि कुछ अन्य लिंक जोड़ना इसे अलग जवाब दे रहा है? –

+3

जब उत्तर लिखना शुरू किया, तो आपने अभी तक जवाब नहीं दिया था। यदि आप उत्तर हटाते हैं तो मुझे बेहतर लगता है मुझे कोई समस्या नहीं है। किसी भी मामले में उपयोगकर्ता आपका जवाब वोट दे सकता है। –

+0

यदि आपको लगता है कि आपको उत्तर को हटाने की आवश्यकता नहीं है तो मुझे कोई समस्या नहीं है। वास्तव में मुझे बहुत समय लगता था (किसी ने जवाब दिया था जबकि मैं वही लिख रहा था) :) –

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