SORU
13 Ocak 2011, PERŞEMBE


Nasıl bir android genişlik ve yükseklik almak için.widget.İmageView?

╔══════════════════════════════════════════════╗   ^
║ ImageView    ╔══════════════╗                ║   |
║              ║              ║                ║   |
║              ║ Actual image ║                ║   |
║              ║              ║                ║   |60px height of ImageView
║              ║              ║                ║   |
║              ║              ║                ║   |
║              ╚══════════════╝                ║   |
╚══════════════════════════════════════════════╝   
<------------------------------------------------>
                   90px width of ImageView

Bazı varsayılan yükseklik ve genişlik ile görüntü bir manzara var, resimler db saklanır ve Resim yüksekliği genişliği imageview göre ölçek istiyorum. Yükseklik ve genişlik değiştiriyorum çünkü varsayılan değerler t vermek istemiyorum ben de kodu değiştirmek zorunda.

İmageView genişliği ve yüksekliği almaya çalışıyorum ama 0 her iki durumda da bana döndü. bana yardım edin lütfen

int height = ((ImageView) v.findViewById(R.id.img_ItemView)).getHeight();

bu varsayılan yükseklik ve genişlik bile bana 0 verir

CEVAP
13 Ocak 2011, PERŞEMBE


this question cevabım sana yardımcı olabilir:

int finalHeight, finalWidth;
final ImageView iv = (ImageView)findViewById(R.id.scaled_image);
final TextView tv = (TextView)findViewById(R.id.size_label);
ViewTreeObserver vto = iv.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    public boolean onPreDraw() {
        iv.getViewTreeObserver().removeOnPreDrawListener(this);
        finalHeight = iv.getMeasuredHeight();
        finalWidth = iv.getMeasuredWidth();
        tv.setText("Height: "   finalHeight   " Width: "   finalWidth);
        return true;
    }
});

Sonra görüntü onPreDraw içinde işe Ölçekleme ekleyebilirsiniz() yöntemi.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • failblog

    failblog

    17 HAZİRAN 2008
  • psidot

    psidot

    2 Kasım 2006
  • William Sledd

    William Sled

    24 EYLÜL 2006