CardView不掩盖父内部

时间:2018-08-13 06:29:51

标签: android android-cardview

我想将CardView放在Rounded LinearLayout内。但是我的布局仍然是正方形的,但是如果我放置“另一个”视图,则它是圆形的。

<LinearLayout
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="@drawable/rounded">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        app:cardPreventCornerOverlap="false" />
</LinearLayout

这里是四舍五入的布局

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white"/>
    <stroke
        android:width="3dp"
        android:color="@color/white" />
    <corners android:radius="8dp"/>
</shape>

我尝试使用app:cardPreventCornerOverlap="false",但仍然无法正常工作。 我的卡在四舍五入的父代中如何被四舍五入?

我尝试了另一种方法。
我使用CardView和实现app:cardCornerRadius

更改父对象
<android.support.v7.widget.CardView
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:cardCornerRadius="8dp">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        app:cardPreventCornerOverlap="false" />
</LinearLayout

但还是一样,CardView的孩子覆盖了CardView的父母

3 个答案:

答案 0 :(得分:0)

使半径等于CardView

<LinearLayout
    ...>

    <android.support.v7.widget.CardView
        app:cardCornerRadius="8dp"
        ... />
</LinearLayout

答案 1 :(得分:0)

做这样的事情..

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
         app:cardCornerRadius="130dp"/>
</LinearLayout

答案 2 :(得分:0)

尝试一下

<LinearLayout
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="@drawable/rounded"
    android:padding="10dp">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:cardCornerRadius="8dp"
        app:cardElevation="0dp"
        app:cardPreventCornerOverlap="false"
        app:cardUseCompatPadding="true" />
</LinearLayout>

您可以根据需要调整app:cardElevationandroid:padding

欢呼。