2011-11-30 30 views

回答

0
imageView.setScaleType(ScaleType.FIT_XY); 
+0

我不希望它的规模,但要禁用它,如果它这么想的适合 – Tomer

+0

随后,欧文greig的答案是最好的 –

1

你需要得到的图像尺寸和屏幕大小,然后检查,看看它的更大的显示

之前,如果你想在像素的显示尺寸可以使用

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

如果您无权访问调用getWindowManager的活动。您可以使用:

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

对于您正在描述的用例,布局中的边距/填充看起来更合适。

然后做

if (ImageView.getDrawable().getIntrinsicHeight() > height || ImageView.getDrawable().getIntrinsicWidth() >width){ 
//dont display image 
} 

coppied和两位内线编译 Get screen dimensions in pixelsTrying to get the display size of an image in an ImageView

+0

由于我是insdie getView,getWidth和getHeight方法,给出假值 – Tomer

+0

您是否尝试过两种方法?获取值?你可以调用view.super无论你需要发布更多的代码,然后获得进一步的帮助 –

+0

任何更新的问题? –