gpt4 book ai didi

android - 如果scaleType 为centerCrop,Glide RoundedCornersTransformation 不会进行任何更改

转载 作者:行者123 更新时间:2023-12-02 14:49:17 25 4
gpt4 key购买 nike

我正在使用 Glide 4.3.0wasabeef/glide-transformations在 ImageView 的左下角和右下角添加圆角半径。图像已加载,但未应用转换,并且我没有看到角落有任何变化。

这是我的 Glide 转换:

Glide.with(context)
.load(message.imageUrl)
.apply(bitmapTransform(new RoundedCornersTransformation(25, 0, RoundedCornersTransformation.CornerType.BOTTOM)))
.into(aq.id(R.id.ivSingleImage).getImageView());

我的导入如下:

import com.bumptech.glide.Glide;
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
import static com.bumptech.glide.request.RequestOptions.bitmapTransform;

图像已加载,但未应用转换。这个实现正确吗?

我还尝试了 CornerType.BOTTOM_LEFTCornerType.BOTTOM_RIGHT

编辑

我注意到只有当scaleType设置为centerCrop时才会发生这种情况。如果我从 XML 中删除它,它可以工作,但图像的左侧和右侧有 2 个大空格:

<ImageView
android:id="@+id/ivSingleImage"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="@color/white"
android:scaleType="centerCrop" <!--Removing this works. But leaves two spaces on left and right sides-->
android:layout_marginEnd="5dp" />

引用更新^,我怎样才能在图像centerCrop的同时仍然进行舍入变换?

最佳答案

找到了解决方案。解决方案使用我在问题中提到的 glide-transformations 库中的 MultiTransformationCenterCrop 转换。

解决方案如下:

MultiTransformation multiLeft = new MultiTransformation(
new CenterCrop(),
new RoundedCornersTransformation(25, 0, RoundedCornersTransformation.CornerType.BOTTOM_LEFT));

Glide.with(context)
.load(message.imageUrl)
.apply(bitmapTransform(multiLeft))
.into(aq.id(R.id.ivSingleImage).getImageView());

在 XML 的 scaleType 属性中使用 centerCrop 不适用于 Glide 库转换。

关于android - 如果scaleType 为centerCrop,Glide RoundedCornersTransformation 不会进行任何更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47407036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com