【问题标题】:Android crop imageviewAndroid 裁剪图像视图
【发布时间】:2016-05-04 19:22:57
【问题描述】:

有我的ImageView

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

我使用Picasso 库将图像加载到这个ImageView。

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

ImageView 内部有填充和加载的图像存在问题。

有图片显示填充:

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

(你可以看到这个深蓝色的圆圈现在是椭圆形的)

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

还是谢谢你!

【问题讨论】:

  • 然后使用质量更好的图片

标签: android image


【解决方案1】:

看看你的 ImageView:

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

您正在强制图像拉伸到其父视图的宽度(可能是屏幕?)。尝试使用wrap_content 作为宽度并保持高度相同。这可能会导致图像缩小,但这取决于您想要的用户体验。

@stefs 发现添加了这个:

...android:adjustViewBounds="true" /&gt;

会有所帮助。查看帖子here。

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

【讨论】:

  • 不幸的是,对我没有帮助,android:adjustViewBounds="true" / 完全忽略
  • @VLeonovs 您是否也尝试将宽度更改为wrap_content?
  • 好的。这些图像是正方形还是矩形。我认为图像正在从最初的样子延伸,这就是为什么它会这样。发布原始图像,以便我们看到它们。
猜你喜欢
  • 1970-01-01
  • 2015-02-02
  • 2018-09-20
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
相关资源
最近更新 更多