2011-12-19 16 views
6
Ben MyDraw adında özel bir görünüm oluşturduk

, bu benim MyDraw kodu, ben paket adı kullanarak XML dosyasında görünümü ekledikProgramlı olarak özel görünüm için genişlik ve yükseklik nasıl ayarlanır?

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); 

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

olduğunu. İyi çalışıyor. android: Artık bunun için ben, kod aşağıdaki

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

kullandık ama, böyle

java.lang.ClassCastException İstisna var çalışma zamanında MyDraw için yükseklik ve genişlik ayarlamak istiyorum. view.ViewGroup $ LayoutParams

Bu özel durum nasıl çözülür? bana yardım edin ..

+1

Olası çoğaltılabilir [Android setinin yüksekliği ve Özel görünümün genişliğinde programlı olarak] (http://stackoverflow.com/questions/5042197/android-set-height-and-width-of-custom-view-programmatically) –

cevap

9

geçersiz kılma onMeasure() yöntem, bir bakın here

+0

teşekkürler dostum ... iyi çalışıyor ... teşekkürler –

18

of View onMeasure() yöntemini geçersiz kılmalıdır.

güzel Örneğin burada kontrol edebilirsiniz: http://kahdev.wordpress.com/2008/09/13/making-a-custom-android-button-using-a-custom-view/

Ve öneriyoruz bir çok serin bir video edilir burada: Bu yardımcı olur http://marakana.com/forums/android/general/563.html

Umut!

+1

Benimkiyle aynı cevap değil mi? Başka bir bağlantı eklemenin farklı bir cevap oluşturduğunu düşünüyor musunuz? –

+3

Yanıtı yazmaya başladığınızda, henüz yanıt vermediniz. Eğer daha iyi hissedersen cevabı kaldırırsam sorunum yok. Her durumda kullanıcı cevabınızı oylayabilir. –

+0

Eğer cevabı kaldırmaman gerektiğini düşünüyorsan, sorun değil. Aslında çok fazla zaman aynı şeyle karşılaştım (Birisi aynı yazarken cevap verdi) :) –

İlgili konular