Bir Android boyutunu belirleme zamanında görüntüleyin
Benim etkinlik oluşturulduktan sonra benim Android uygulaması bir görünüm için bir animasyon uygulamak için çalışıyorum. Bunu yapmak için, Görünüm geçerli boyutunu belirlemek ve yeni bir boyut mevcut boyutu ölçek için bir animasyon ayarlamak istiyorum. Bu kısım çalışma zamanı, görünüm beri farklı boyutları kullanıcı girişi bağlı olarak ölçekler yapılması gerekir. Benim düzeni XML olarak tanımlanır.
Bu kolay bir görev gibi görünüyor, ve bu YÜZDEN soru benim sorunum çözüldü eden yok ama bu konuda belli ki bir sürü vardır. Bu yüzden belki de bariz olan bir şeyi kaçırıyorum. Benim görüntülemek için ele alıyorum
ImageView myView = (ImageView)getWindow().findViewById(R.id.MyViewID);
Bu iyi çalışıyor, ama*3, , *, getLayoutParams().width
, *getMeasuredWidth()
*4 vb çağırırken., hepsi 0 döndürür. Elle de görünüm etkisi olmadığını getMeasuredWidth()
ama bir ara izledi measure()
aramayı denedim.
Bu yöntemler aramayı denedim ve benim aktivitede hata nesnesi teftiş onCreate()
onPostCreate()
. Nasıl zamanında bu görüş tam olarak boyutlarını öğrenebilir miyim?
CEVAP
İlk düzen beklemek Görünüm ViewTreeObserver kullanın. İlk düzen olacak sonra getWidth()/getHeight()/getMeasuredWidth()/getMeasuredHeight.
ViewTreeObserver viewTreeObserver = view.getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
viewWidth = view.getWidth();
viewHeight = view.getHeight();
}
});
}
Android Studio yöntem bilgi görüntüley...
Android Listesi Sürükle ve Bırak sıral...
Android Uygulama yığın boyutunu tespit...
Nasıl bir android Uygulama yığın boyut...
Android Görüntüleyin.getDrawingCache n...