SORU
23 EYLÜL 2010, PERŞEMBE


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
4 Temmuz 2011, PAZARTESİ


İ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();
    }
  });
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • Liberator

    Liberator

    14 EYLÜL 2007
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006