【问题标题】:Radius in making border is given from inside instead of outside?制作边框的半径是从内部而不是外部给出的?
【发布时间】:2018-11-29 07:17:34
【问题描述】:

我正在使用下面的 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>

当我将半径指定为&lt;corners android:radius="@dimen/padding_4dp"/&gt; 时,它会为拐角提供半径,但从内部而不是从外部。因此,从外面看,拐角仍然很锋利。如下所示:

我在哪里做错了吗?

【问题讨论】:

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


    【解决方案1】:

    您在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>
    

    【讨论】:

      【解决方案2】:

      对于剩下的两项也添加一个圆角半径。

      【讨论】:

        猜你喜欢
        • 2018-02-08
        • 2020-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多