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ş:
Nasıl android niyeti ek veri almak içi...
Nasıl Android uygulaması yapı/sürüm nu...
Nasıl'In birincil e-posta adresin...
Nasıl bir HTML öğesi almak'In ger...
Nasıl yüklü android uygulamaların bir ...