Android:XML绘制带有一种颜色的固体边框的自定义矩形,另一种颜色



我正在使用自定义矩形作为背景:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:radius="20dp"/>
    <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
    <solid android:color="#FFFFFF"/>
</shape> 

这给了我一张诸如形状的卡片,但是我想在周围有一条固体黑色(或其他色线)。我假设我需要在XML中做的是创建一个黑色矩形,比我当前的矩形宽1点,然后将较小的白色放在顶部。我可以在我的主XML中使用Framelayout和两个不同的自定义矩形在彼此的螺母上进行额外的框架布局,这似乎可以超越该问题。有没有一种方法可以在一个自定义XML背景中绘制。

谢谢

对于边界,您只需要添加一行:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:radius="20dp"/>
    <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
    <solid android:color="#FFFFFF"/>
    //ADD THIS LINE 
    <stroke android:width="1dp" android:color="#000000"/>
</shape> 

您必须做类似的事情:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="@android:color/transparent" />
        </shape>
    </item>
    <item >
        <shape>
            <solid android:color="@android:color/transparent"/>
            <stroke
                android:width="3dp"
                android:color="#0093dd" >
            </stroke>
        </shape>
    </item>
</layer-list>

您可以将第一项的透明颜色更改为您想要实现的纯色。

最新更新