如果它不适合屏幕,请禁用ImageView

时间:2011-11-30 14:22:40

标签: android imageview

我有一个带有动态src的ImageView,我想显示它,只有有足够的地方显示所有内容而不缩放它。
我该怎么办呢?

2 个答案:

答案 0 :(得分: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
}

从两个帖子中编写并编译 Get screen dimensions in pixelsTrying to get the display size of an image in an ImageView

答案 1 :(得分:0)

imageView.setScaleType(ScaleType.FIT_XY);