安卓 CardView 用koitlin 实现 左右上角圆角 即可
时间: 2024-03-03 14:48:56 浏览: 19
当然可以用 Kotlin 实现安卓 CardView 左右上角圆角。以下是一个示例代码:
1. 创建圆角矩形 ShapeDrawable
```
val shape = GradientDrawable()
shape.setColor(ContextCompat.getColor(context, R.color.cardview_light_background))
val radii = floatArrayOf(10f, 10f, 10f, 10f, 0f, 0f, 0f, 0f)
shape.cornerRadii = radii
```
在上面的代码中,`R.color.cardview_light_background` 是指 CardView 的背景颜色,`radii` 数组指定了圆角的半径,前四个元素是左上、右上、右下、左下的圆角半径,后四个元素是四个角的半径,这里设置为 0。
2. 在 CardView 中设置背景
```
cardView.background = shape
```
在上面的代码中,`cardView` 是指 CardView 的实例。这样设置后,就可以实现安卓 CardView 左右上角圆角了。
相关问题
安卓 CardView 左右上角圆角 即可
要实现安卓 CardView 左右上角圆角,可以通过设置 CardView 的背景为一个圆角矩形 ShapeDrawable,在 ShapeDrawable 中设置左右上角为圆角即可。
以下是一个示例代码:
1. 创建圆角矩形 ShapeDrawable
```
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"/>
<solid android:color="@color/cardview_light_background"/>
</shape>
```
2. 在 CardView 中设置背景
```
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/cardview_bg">
<!-- CardView 内容 -->
</android.support.v7.widget.CardView>
```
在上面的代码中,`@drawable/cardview_bg` 是指上面创建的圆角矩形 ShapeDrawable。这样设置后,就可以实现安卓 CardView 左右上角圆角了。
安卓 MaterialCardView实现 左右上角圆角 即可
可以通过设置CardView的背景为一个自定义的ShapeDrawable来实现左右上角圆角的效果。以下是一个示例代码:
```xml
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:cardBackgroundColor="@color/card_background"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:text="Hello World!" />
</androidx.cardview.widget.CardView>
```
在这个示例代码中,我们设置了CardView的背景为一个自定义的ShapeDrawable,该ShapeDrawable只设置了左右上角为圆角(通过设置四个角的半径为8dp,其他角的半径为0dp)。你可以根据需要调整半径的大小和颜色。