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

  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • LivestrongWoman

    LivestrongWo

    1 Aralık 2011
  • thewinekone

    thewinekone

    17 Aralık 2005