我就想最外层的 CradView 弄个圆角,结果一直给我直角,一直搞不明白那里的问题,哎,愈发觉得 compose 非常香了 .
代码如下:一个CardView 包裹着一个 RecyclerView, RecyclerView里面的子项则是一个个CardView
// 最外层设置成圆角 10dp , 颜色设置成透明
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
// 这里这里
app:cardCornerRadius="15dp"
android:padding="@dimen/dp_10"
android:background="@color/transparent"
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/app_recycler"
android:layout_width="match_parent"
android:background="@color/transparent"
android:layout_height="wrap_content"/>
</androidx.cardview.widget.CardView>
RecyclerView中的 item 项
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
android:id="@+id/hidden_card_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:ignore="MissingConstraints"
// 这里这里
app:cardCornerRadius="15dp"
android:background="@color/transparent"
android:visibility="visible"
android:layout_height="70dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/app_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="10dp"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_app_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_count"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_label"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:lines="1"
android:paddingLeft="15dp"
android:text="@string/select_app_label"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_app_icon"
app:layout_constraintTop_toTopOf="parent" />
<CheckBox
android:id="@+id/app_check_box"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:theme="@style/CheckBoxStyle"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/hide_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black"
android:layout_gravity="bottom"/>
</androidx.cardview.widget.CardView>
为什么你的Recyclerview里面的Item的布局中,CardView的子布局包含了ConstranintLayout 和一个view 布局,包含了两个子布局?CardView的直接子布局,只能有一个,你确定不是自己用错了。