边框的半径是从内部而不是外部给出的?

时间:2018-11-29 07:17:34

标签: android textview android-drawable android-styles layer-list

我正在使用下面的XML为TextView创建边框。

<?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/dark_gray" />
        </shape>
    </item>
    <item android:bottom="1dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/dark_gray" />
        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:top="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/dark_gray" />
        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/white" />
            <corners android:radius="@dimen/padding_4dp"/>
        </shape>
    </item>
</layer-list>

当我将半径指定为<corners android:radius="@dimen/padding_4dp"/>时,它将半径指定为拐角,但是从内部而不是外部。因此,结果是,拐角从外面保持尖锐。如下所示: enter image description here

我在某处做错了吗?

2 个答案:

答案 0 :(得分:2)

您在layer-list中添加的其他项目是missing corners,如下添加

<?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/dark_gray" />
    </shape>
</item>
<item android:bottom="1dp">
    <shape android:shape="rectangle">
        <solid android:color="@color/dark_gray" />
        <corners android:radius="@dimen/padding_4dp"/>
    </shape>
</item>
<item
    android:bottom="2dp"
    android:top="2dp">
    <shape android:shape="rectangle">
        <solid android:color="@color/dark_gray" />
        <corners android:radius="@dimen/padding_4dp"/>
    </shape>
</item>
<item
    android:bottom="2dp"
    android:left="2dp"
    android:right="2dp"
    android:top="2dp">
    <shape android:shape="rectangle">
        <solid android:color="@color/white" />
        <corners android:radius="@dimen/padding_4dp"/>
    </shape>
</item>

答案 1 :(得分:0)

对于其余两个项目,还添加一个拐角半径。