Android裁剪imageview

时间:2016-01-27 17:31:58

标签: android image

有我的ImageView

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

我使用ImageView库将图片加载到此Picasso

Picasso.with(getActivity()).load(url)
                            .config(Bitmap.Config.RGB_565)
                            .into(imageView);

ImageView和加载的图像中存在填充的问题。

有显示填充的图像: Padding

我使用.fit()方法来避免这种差距,但图像延伸和质量丢失。

(你可以看到这个深蓝色圆圈现在是椭圆形) enter image description here

问题是: 我该怎么做才能避免丢失图像质量并将其直接调整为ImageView。我无法添加.centerCrop(),因为图片的左侧是逻辑安全区。此外,我无法更改layout_height="150dp",因为它会破坏我的所有布局。

无论如何,谢谢你!

1 个答案:

答案 0 :(得分:0)

看看你的ImageView:

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

您正在强制图像拉伸到其父视图的宽度(屏幕可能?)。尝试使用wrap_content作为宽度并保持高度相同。这可能会导致图像缩小,但可以达到所需的UX。

@stefs发现添加了这个:

...android:adjustViewBounds="true" />

会有所帮助。查看帖子here

如果您想要静态图像大小,则可能需要处理填充。