CardView使用clipChildren属性无效

303 阅读1分钟

想要的效果

v2-f52d9277755030064d7c1a901f7743c2_720w.webp

解决办法:

  1. xml代码:CardView和其父View设置属性clipChildren=false,默认是true
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:orientation="vertical">

    <androidx.cardview.widget.CardView
        android:id="@+id/cv_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipChildren="false"
        bind:cardCornerRadius="10dp"
        bind:cardElevation="5dp">

        <com.kidney.base_library.view.CircleImageView
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:layout_marginTop="-30dp"
            android:src="@mipmap/ic_pic_patient"
            bind:civ_border_color="@color/white"
            bind:civ_border_width="5dp" />
    </androidx.cardview.widget.CardView>
</LinearLayout>
  1. java代码:
binding.cvHeader.setClipToOutline(false);