android-cardview由于半径过大而变成菱形

bxjv4tth  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(363)

我正在使用 android.widget.CardView 在我的申请中。

在我的android 11设备中,当radius大于视图时,它会自动调整到视图大小的一半。(我不知道调整了哪个版本)

在较低的系统版本中(我使用android 7.1进行测试),当半径大于视图时,cardview将变成菱形。
有人知道为什么和如何解决吗?谢谢

a14dhokn

a14dhokn1#

通常,glide库用于加载图像。此库有助于使边缘圆化,如下所示

Glide.with(context)
        .load(url)
        .circleCrop()
        .into(imageView)

和这个图书馆交朋友,你会很开心的。它不仅有助于图像成形,而且还能正确使用内存https://github.com/bumptech/glide
p、 s:在我看来,使用cardview对你来说是非常有限的。
您可以使用根元素(例如约束布局)作为背景,使用圆角形状(矩形)作为背景,并将图像放置在布局中。
为了保持形状,我经常使用下一个属性(下面是一个示例):app:layout\u constraintdimensionratio=“w,1:2”。
在您的情况下,比率必须为1:1,因为它是圆而不是椭圆,然后您可以使用 app:layout_constraintDimensionRatio="W,1:1"app:layout_constraintDimensionRatio="H,1:1" 我不确定这在cardview中是否有效,但在constraintlayout中效果很好。

相关问题