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

  • engineerguy

    engineerguy

    10 Ocak 2010
  • Hudson Music

    Hudson Music

    13 Mart 2007
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009