我正在使用 android.widget.CardView 在我的申请中。在我的android 11设备中,当radius大于视图时,它会自动调整到视图大小的一半。(我不知道调整了哪个版本)在较低的系统版本中(我使用android 7.1进行测试),当半径大于视图时,cardview将变成菱形。有人知道为什么和如何解决吗?谢谢
android.widget.CardView
a14dhokn1#
通常,glide库用于加载图像。此库有助于使边缘圆化,如下所示
Glide.with(context) .load(url) .circleCrop() .into(imageView)
和这个图书馆交朋友,你会很开心的。它不仅有助于图像成形,而且还能正确使用内存https://github.com/bumptech/glidep、 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中效果很好。
app:layout_constraintDimensionRatio="W,1:1"
app:layout_constraintDimensionRatio="H,1:1"
1条答案
按热度按时间a14dhokn1#
通常,glide库用于加载图像。此库有助于使边缘圆化,如下所示
和这个图书馆交朋友,你会很开心的。它不仅有助于图像成形,而且还能正确使用内存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中效果很好。