我有一个带有动态src的ImageView,我想显示它,只有有足够的地方显示所有内容而不缩放它。
我该怎么办呢?
答案 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 pixels 和 Trying to get the display size of an image in an ImageView
答案 1 :(得分:0)
imageView.setScaleType(ScaleType.FIT_XY);