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
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();
}
});
Nasıl otomatik düzen, görünüm gizli ve...
Nasıl programlı göre Düzen içinde bir ...
Nasıl Otomatik Düzen kullanıldığında b...
Nasıl bir Düzen İnflater bir Bağlam te...
Nasıl Bildirim Sürümü uygulamasından n...