SORU
8 ŞUBAT 2012, ÇARŞAMBA


Android özel bir görünüm için üç kurucular ihtiyacım var mı?

Özel bir görünüm oluştururken, birçok kişi bu şekilde yapmak gibi görünüyor fark ettim:

public MyView(Context context) {
  super(context);
  // this constructor used when programmatically creating view
  doAdditionalConstructorWork();
}

public MyView(Context context, AttributeSet attrs) {
  super(context, attrs);
  // this constructor used when creating view through XML
  doAdditionalConstructorWork();
}

private void doAdditionalConstructorWork() {

  // init variables etc.
}

İlk sorum, ne kurucu MyView(Context context, AttributeSet attrs, int defStyle) hakkında? Kullanılan nerede emin değilim, ama süper sınıfında görüyorum. Ona ihtiyacım var, ve nerede kullanılır?

another part to this question var.

CEVAP
8 ŞUBAT 2012, ÇARŞAMBA


Eğer özel ekleyeceksiniz xml View gibi :

 <com.mypack.MyView
      ...
      />

kurucu public MyView(Context context, AttributeSet attrs) Android View şişirmek için çalıştığında Exception bir alacak aksi takdirde gerekir.

Eğer eklerseniz 11 ** xml ve de android:style öznitelik gibi spcify :

 <com.mypack.MyView
      style="@styles/MyCustomStyle"
      ...
      />

ayrıca üçüncü kurucu public MyView(Context context, AttributeSet attrs,int defStyle) gerekir .

Üçüncü kurucu genellikle style genişletmek ve özelleştirmek için kullanılır ve daha sonra düzenleri View verilen style bunu ayarlamak istiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Influencer Plus

    Influencer P

    2 Ocak 2013
  • KSI

    KSI

    25 Temmuz 2009
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008