2014-11-05 1 views
0
  1. LayoutParams params = new FrameLayout.LayoutParams ( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

imageView mainimage = new ImageView (HLActivity.this); mainimage.setLayoutParams (params);определение высоты и ширины динамически созданного изображения?

loader.DisplayImage(_pageslist.get(j).getUrl(), mainimage); 

Я уже пробовал mainimage.getwidth() и mainimage.getHeight();

Теперь я хочу найти orignalwidth и высоту ImageView после поместите изображение в изображение. не могли бы вы мне помочь.


ответ

0

getWidth() и getHeight() являются действительно те, что вы ищете, но вы пытаетесь задать по ширине и высоте, когда представление еще не измеряется. Чтобы исправить это, мы отправляем сообщение в ImageView, которое будет выполнено после выполнения измерения.

LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
// mark it as final, so it can be accessed in the runnable. 
final imageView mainimage = new ImageView(HLActivity.this); 
mainimage.setLayoutParams(params); 
mainimage.post(new Runnable() { 

    @Override 
    public void run() { 
     // get the width and the height 
     int width = mainimage.getWidth(); 
     int height = mainimage.getHeight(); 
     // do what you want to do with the sizes. 
     loader.DisplayImage(_pageslist.get(j).getUrl(), mainimage); 
    } 
});