我有一张图片可以用来作为活动的背景:

我想要这个图像适合屏幕的高度。这意味着,对于宽屏幕智能手机,我希望我的形象适合的高度和居中:

对于方屏智能手机,我希望我的图像被剪掉:

我使用ImageView作为图像。我应该使用什么scaleType?看看第二个数字,我会说使用android:scaleType="centerInside"。但是看看第三个,我会说使用android:scaleType="centerCrop"。什么是正确的?
发布于 2014-03-28 14:42:33
您对不同scaleType的评估是正确的。如果您希望整个图像可见,请使用"centerInside",或者如果您希望填充整个视图,则使用centerCrop。
要同时使用这两种方法,可以在scaleType方法中设置onCreate()。根据您想要的行为,您可以检查屏幕的方向或大小,并设置适当的选择。
imageView.setScaleType(ScaleType.CENTER_INSIDE); // or ScaleType.CENTER_CROP
发布于 2014-03-28 14:42:40
您可以有两个布局,每个配置一个。然后,您可以在活动的onCreate()调用中加载合适的。
发布于 2014-03-29 10:20:41
当你将图像的一面与背景相匹配时,你将面临两个问题,一个是屏幕宽度大于图像宽度,或者屏幕高度大于图像height.So,你会有空空间。
如果你不想面对分辨率问题,你想把图像的两面与背景相匹配,你需要像我所说的那样使用centerCROP.But,如果图像的一面不足以适应背景,那么图像就会变大,直到它被填充。
https://stackoverflow.com/questions/22714820
复制相似问题