SORU
29 Ocak 2010, Cuma


Nasıl boyutu bir Android görünümü üst's boyutlarına bağlı

Nasıl bir görünümü üst düzen boyutuna göre boyutu. Örneğin tam ekran doldurur RelativeLayout Bir ben var, ve çocuk bir görünüm istiyorum, ImageView, bir bütün yüksekliğini almak demek, ve genişliği 1/2?

*3, *, onSizeChanged, **4 vb tüm ağır basan denedim ve işe alamadım....

CEVAP
11 Ocak 2011, Salı


Eğer kimse hala bu konuyu veya okuduğunu bilmiyorum, ama Jeff çözümü Sadece orada (gerçekten biraz) yarısını alacak. Onun onMeasure ne yapacak yarısı üst yarısı görüntü. Sorun süper çağırıyor.onMeasure setMeasuredDimension önce setMeasuredDimension yeniden boyutlandırır zaman görünümü orijinal boyutuna göre tüm çocuklar ölçmek, sadece yarım görünümünde kesilmiş.

Bunun yerine, setMeasuredDimension onMeasure geçersiz kılma için gerekli () aramak gerekirvegörünüm için LayoutParams Yeni sağlamaksonrasuper.onMeasure Ara. Unutmayın, LayoutParams senin görüşün üst yazın, görüşün türü türetilmiştir.

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
   int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
   int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
   this.setMeasuredDimension(parentWidth/2, parentHeight);
   this.setLayoutParams(new *ParentLayoutType*.LayoutParams(parentWidth/2,parentHeight));
   super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

Ana LayoutParams ile ilgili sorunlar tek zaman ise ebeveyn AbsoluteLayout bir itiraz ama yine de bazen yararlıdır () olduğuna inanıyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • Phymec

    Phymec

    18 Temmuz 2009