有没有办法让 CardView 在顶部只有角半径?
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="10dp"
>
原文由 terencey 发布,翻译遵循 CC BY-SA 4.0 许可协议
除非您尝试扩展 Android
CardView
类,否则您无法从XML
自定义该属性。尽管如此,有一种方法可以获得这种效果。
将
CardView
放置在另一个CardView
内,并将透明背景应用到您的外部CardView
并删除它的圆角半径("cornerRadios = 0dp"
)例如,您的内部CardView
的角半径值为 3dp。然后将 marginTop 应用于您的内部CardView
,因此其底部边界将被外部CardView
切割。这样,您的内部CardView
的底角半径将被隐藏。XML 代码如下:
并且视觉效果如下:
始终将您的内容放在您的 Inner
CardView
中。您的外部 CardView 仅用于“隐藏”内部CardView
的底部圆角。