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

  • circuschina

    circuschina

    16 Mart 2007
  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • tychoadragmire

    tychoadragmi

    20 Mart 2006