在android中裁剪图像以适应宽度和截断高度
Posted
技术标签:
【中文标题】在android中裁剪图像以适应宽度和截断高度【英文标题】:Cropping an image in android to fit width and cut off height 【发布时间】:2015-03-16 09:15:19 【问题描述】:我有一个 ImageView,它的最大高度必须为 150dp,宽度必须与父级匹配。但是,我需要的是裁剪实际图像,因此图片与 ImageView 一样宽,但居中和裁剪,因此图片的顶部和底部不可见(有点像预览)。我目前拥有的:
<ImageView
android:adjustViewBounds="true"
android:background="#fafafa"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_
android:layout_
android:maxHeight="150dp"
android:id="@+id/articlepreviewimage"
android:src="@mipmap/ic_launcher"
android:layout_below="@+id/naslovclanka"
android:layout_centerHorizontal="true"
/>
此外,图像保持其原始比例至关重要,因此不要将其作为背景,也不要缩放等。我只需要它来填充 ImageView 的宽度并在该 ImageView 中显示图片的中心.
目前的做法是缩放图像,使其适合高度或宽度,但不会切掉任何东西。如何做到这一点?
【问题讨论】:
哇哦!!! @Orlando Bloom 在 *** 上... 【参考方案1】:看看android:scaleType="centerCrop"
还有很多其他比例类型可能适合您的需求。
【讨论】:
他是对的,一件事 - 你需要设置 imageview 的确切高度。另一种无需缩放的方法是扩展 ImageView 类并覆盖 onMeasure 方法【参考方案2】:尝试执行以下操作:
<ImageView
android:id="@+id/yourimageId"
android:layout_
android:layout_
android:layout_margin="2dp"
android:adjustViewBounds="true"
android:layout_gravity="center_vertical"
android:clickable="true"
android:scaleType="fitXY"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:maxHeight="150dp"/>
【讨论】:
以上是关于在android中裁剪图像以适应宽度和截断高度的主要内容,如果未能解决你的问题,请参考以下文章
Android ImageView 将较小的图像缩放到具有灵活高度的宽度,而不会裁剪或扭曲