如何强制位图占据定义的图像视图



我不擅长用文字来解释这一点,但我正在尝试将位图映射到ImageView(位图是用户可以用相机拍摄的照片)。

我将 ImageView 设置为 300 dp

x 300 dp,我想确保位图最大限度地映射到它,并且 ImageView 不会更改尺寸。例如,如果位图很宽并且不是很高,那么我们希望位图映射到 300dp 宽,然后在顶部/底部会有额外的空间。如果位图很高并且不是很宽,则高度将变为 300dp,然后两侧会有额外的空间。位图根本不应拉伸或倾斜;应保留其 W/h 比。

试试这个

android:scaleType="centerInside"
android:adjustViewBounds="false"

只需使用

<ImageView
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:id="@+id/image"/>

不需要任何附加代码。

最新更新