2011-07-23 107 views
1
photo = (ImageView) findViewById(R.id.image1); 
    photo.setImageBitmap(pic);  
    Drawable drawable = photo.getDrawable(); 
    imageBounds = drawable.getBounds(); 
    int scaledHeight = imageBounds.height(); 
    int scaledWidth = imageBounds.width(); 

此處scaledHeight & scaledWidth爲零。但我正確地獲得圖像的大小。getBounds返回高度和寬度0

int intrinsicHeight = drawable.getIntrinsicHeight(); 
    int intrinsicWidth = drawable.getIntrinsicWidth(); 

是什麼問題imageBounds.height();

回答

1

我想你在onCreate方法中使用「照片」。在那裏,ImageView維度還沒有定義,我建議你在「hasFocus」爲true時將你的代碼放在onWindowFocusChanged方法中。

+0

謝謝@Zappescu。這工作正常。但我期待的scaledHeight是屏幕上顯示的圖像的實際高度,這將始終小於屏幕高度(對於我320px)。但它與intrinsicHeight相同,即圖像的實際大小。我也試過imageBounds.left。但它也返回了圖像的實際大小。 – sandeep

相關問題