禁用ImageView,如果它不适合在屏幕上
imageView.setScaleType(ScaleType.FIT_XY);
你需要得到的图像尺寸和屏幕大小,然后检查,看看它的更大的显示
之前,如果你想在像素的显示尺寸可以使用
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 pixels 和 Trying to get the display size of an image in an ImageView
由于我是insdie getView,getWidth和getHeight方法,给出假值 – Tomer
您是否尝试过两种方法?获取值?你可以调用view.super无论你需要发布更多的代码,然后获得进一步的帮助 –
任何更新的问题? –
我不希望它的规模,但要禁用它,如果它这么想的适合 – Tomer
随后,欧文greig的答案是最好的 –