在我的例子中如何只圆顶两个角

how to round only top two corners in my case

我创建了一个圆角可绘制资源round_corner_bg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="3dp" android:color="#B1BCBE" />
    <corners android:radius="10dp"/>
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

我把它应用到我的 LinearLayout :

<LinearLayout ...>
    android:background="@drawable/round_corner_bg"
...

它工作正常。但是四个角都圆了,怎么才能只圆左上角和右上角呢?

更改以下内容:

<corners android:radius="10dp" />

收件人:

<corners
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />

试试这个

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <stroke
        android:width="3dp"
        android:color="#B1BCBE" />
    <corners android:topLeftRadius="10dp" android:topRightRadius="10dp"
        android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />
</shape>

输出

您可以使用如下所示的角标签

<corners android:topLeftRadius="10dip" android:topRightRadius="10dip"/>

你可以这样使用:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape  android:shape="rectangle">
            <!-- you can use any color you want -->
            <solid android:color="@color/colorPrimary" />
            <corners android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"
                android:topLeftRadius="10dp" android:topRightRadius="10dp"/>
            <stroke android:width="0.6dp" android:color="@color/white" />
        </shape>

    </item>

</selector>

只需更换

<corners android:radius="10dp"/> 

<corners android:topRightRadius="10dp" android:topLeftRadius="10dp"
        android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" />

根据需要更改值