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

  • Influencer Plus

    Influencer P

    2 Ocak 2013
  • Jucyber Tutoriais

    Jucyber Tuto

    8 EYLÜL 2009
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011