2013-04-30 118 views
0

我使用類ImageLoader從互聯網上加載圖像,但是當我想要獲得寬度和高度的照片,它給我的寬度:1和高度:1。該ImageLoader的是ImageLoader的從這裏:ImageLoaderImageLoader沒有給出正確的尺寸

調用方法和計算方面:

ImageLoader imgLoader = new ImageLoader(getApplicationContext()); 
     imgLoader.DisplayImage(url, R.drawable.thumbnail_background, image); 

     // Change params 
     image.post(new Runnable() { 
      public void run() { 
       ImageView image = (ImageView)findViewById(R.id.photo); 
       LinearLayout layout = (LinearLayout)findViewById(R.id.scrollLayout); 



       Display display = getWindowManager().getDefaultDisplay(); 
       Point size = new Point(); 
       display.getSize(size); 
       int newWidth = size.x; 

       int orgWidth = image.getWidth(); 
       int orgHeight = image.getHeight(); 

       Toast toast = Toast.makeText(getApplicationContext(), Integer.toString(newWidth) + " - " + Integer.toString(orgWidth) + " - " + Integer.toString(orgHeight), Toast.LENGTH_LONG); 
       toast.show(); 


       int newHeight = (int) Math.floor(newWidth/(orgWidth/orgHeight)); 


       LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
        newWidth, newHeight); 
       //image.setLayoutParams(params); 
       image.setScaleType(ImageView.ScaleType.FIT_XY); 
       layout.updateViewLayout(image, params);  
      } 
      }); 
     } 
+0

mayb e你的佈局高度不夠 – 2013-05-01 03:34:17

+0

@MoshErsan哪種佈局? imageview本身或它的父母? – user6827 2013-05-01 09:27:33

+0

我的意思是它的父母 – 2013-05-01 09:36:02

回答

0

這應該給你的圖像的原始尺寸:

image.getDrawable().getIntrinsicHeight() 
image.getDrawable().getIntrinsicWidth() 
+0

'orgWidth'和'orgHeight'現在變爲-1 – user6827 2013-05-01 09:28:23

0

您可以擡高這個佈局,並獲得參考ImageView

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ImageView android:id="@+id/my_imageview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scaleType="fitCenter" /> 

</LinearLayout> 
+0

好了,現在高度只有它的一半,寬度是正確的。 – user6827 2013-05-01 12:21:53

+0

好的,更改'android:scaleType =「fitXy」' – 2013-05-01 13:01:04

+0

仍然是高度的一半,圖片看起來現在已經被壓扁了 – user6827 2013-05-01 13:13:43