SORU
6 Aralık 2011, Salı


Android: ViewPager WRAP_CONTENT var kuramıyorum

Kur her sayfada 200dp yüksekliğinde bir İmageView olan basit bir ViewPager var.

İşte benim çağrı cihazı:

 pager = new ViewPager(this);
            pager.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
            pager.setBackgroundColor(Color.WHITE);
            pager.setOnPageChangeListener(listener);
            layout.addView(pager);

Bu imageview sadece 200dp olsa bile wrap_content, çağrı cihazı her zaman ekranı doldurur kadar yüksekliğe rağmen ayarlayın. "200" ama bana birden çok çözümü ile farklı sonuçlar verir. ile çağrı cihazı yüksekliğini değiştirmek için çalıştım Ekle "" Bu değeri. dp kuramıyorum Nasıl çağrı düzeninde 200dp eklerim?

CEVAP
26 Aralık 2013, PERŞEMBE


Aşağıda bunu şu anda en büyük çocuğun boyuna olsun ** 3 geçersiz onMeasure.

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int height = 0;
    for(int i = 0; i < getChildCount(); i  ) {
        View child = getChildAt(i);
        child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        int h = child.getMeasuredHeight();
        if(h > height) height = h;
    }

    heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);

    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LivestrongWoman

    LivestrongWo

    1 Aralık 2011
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010
  • tsweeney79

    tsweeney79

    21 Ocak 2008