创建一个带有圆角顶部和底部边框的drawable

bma*_*man 1 android android-layout android-drawable

这就是我提出的.

<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="@color/grey" />

            <padding
                android:bottom="1dp" />
            <corners 
                android:radius="0dp"/> 
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="@color/white" />
            <corners 
                android:radius="1dp" 
                android:bottomRightRadius="0dp" 
                android:bottomLeftRadius="0dp" 
                android:topLeftRadius="5dp" 
                android:topRightRadius="5dp"/> 
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是底部半径显示我放在它上面的任何值.

实际上只需要topLeftRadius让它看起来像这样

    <corners  
        android:bottomRightRadius="0dp" 
        android:bottomLeftRadius="0dp" 
        android:topLeftRadius="5dp" 
        android:topRightRadius="0dp"/> 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

NrN*_*ifi 5

我有同样的问题,试试吧.它对我很好.我只是将android:top ="10dp"添加到第二项.因此,它导致圆顶角落.

<?xml version="1.0" encoding="utf-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid
                android:color="@color/dialog_title_bar_blue"/>

            <corners
                android:topLeftRadius="10dp"
                android:topRightRadius="10dp"/>
        </shape>
    </item>
    <item
        android:top="10dp">
        <shape android:shape="rectangle">
            <solid
                android:color="@color/dialog_title_bar_blue"/>
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)