SORU
11 EKİM 2011, Salı


Nasıl bir düzen çizilmiştir.

Ekranda kaydırılan bir bitmap çeken özel bir görünümü var. Bunu başlatmak için, üst düzen nesne piksel olarak boyutunu geçmek istiyorum. Ama onCreate ve onResume işlevleri sırasında, henüz Düzeni ve düzeni çizilmiştir.() getMeasuredHeight 0 değerini döndürür.

Geçici bir çözüm olarak, bir saniye bekleyin ve sonra ölçmek için bir işleyici ekledim. Bu çalışır, ama özensiz, ve ben laout çizilmiş gelmeden önce son kez döşeme nasıl hiçbir fikrim yok.

Bilmek istediğim, nasıl bir düzen çizilmiş olur algılayabilir miyim? Olay ya da bir geri arama var mı?

CEVAP
12 EKİM 2011, ÇARŞAMBA


Düzeni için bir ağaç gözlemci ekleyebilirsiniz. Bu doğru genişlik ve yükseklik dönmelidir. onCreate çocuk görüşlerini düzeni yapılır önce denir. Genişliği ve yüksekliği henüz hesaplanmamış. Yükseklik ve genişlik için onCreate yöntemi bu

final LinearLayout layout = (LinearLayout)findViewById(R.id.YOUR_VIEW_ID);
ViewTreeObserver vto = layout.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
        this.layout.getViewTreeObserver().removeGlobalOnLayoutListener(this); 
        int width  = layout.getMeasuredWidth();
        int height = layout.getMeasuredHeight(); 

    } 
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★TheCrono Official Channel★

    ★TheCrono

    3 Mayıs 2014
  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Official Android Tips

    Official And

    23 EYLÜL 2009