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

  • maxman.tv

    maxman.tv

    29 EKİM 2013
  • PaysNatalAu's channel

    PaysNatalAu'

    11 Aralık 2010
  • Crossover

    Crossover

    18 HAZİRAN 2007