在 Android 上缩放图像会使图像呈现在 ImageView 边界之外
Posted
技术标签:
【中文标题】在 Android 上缩放图像会使图像呈现在 ImageView 边界之外【英文标题】:Scaling an Image on Android makes the Image render outside the ImageView boundaries 【发布时间】:2020-09-25 20:34:15 【问题描述】:我正在尝试在 ImageView 中缩放图像,但如果图像超出视图边界,我希望图像被裁剪。 This is what it looks like. 图像只是在视图边界之外渲染。我尝试了android:scaleType
和android:adjustViewBounds
的所有不同形式,但它们都不能将图像保持在这些边界内。基本上我想要的最终结果是一个可以放大和缩小的图像,但是当你放大时,图像会被裁剪以适应空间。也许这是不可能的事情之一?
【问题讨论】:
您将高度和宽度指定为 wrap_contect。为此,它将采用图像的大小。您可以为此使用静态高度宽度。 问题解决了吗? 【参考方案1】:android:layout_
android:layout_
表示视图将根据内容调整其大小。如果要裁剪图像,请指定这些,例如
android:layout_
android:layout_
【讨论】:
这并没有解决问题。我将高度和宽度设置为 40dp,但图像仍然可以超出此范围。【参考方案2】:scaleX 和 scaleY 正在缩放图像。删除两者将解决您的问题。还要给它一个固定的高度和宽度。
编辑这些行
android:layout_
android:layout_
并删除这些行
android:scaleX="2"
android:scaleY="2"
【讨论】:
也许问题不清楚,但我希望图像被放大,但是当图像超出 ImageView 的边界时,应该裁剪图像的外部。 您可以使用更大尺寸的图像,并为您的图像提供静态宽度和高度。 好的,我编辑了我的问题,试图更清楚地传达我的问题。我希望图像能够放大和缩小,但在超出边界时会被裁剪。以上是关于在 Android 上缩放图像会使图像呈现在 ImageView 边界之外的主要内容,如果未能解决你的问题,请参考以下文章
在某些 android 设备中,图像不会在 FlatList 上呈现
Android在画布上操纵图像 - 使用触摸,移动,放大/缩小,缩放