Shape Drawable只有两面

时间:2013-10-14 15:07:14

标签: android

我试图在XML中实现像这样的ShapeDrawable,但到目前为止还没有成功。

enter image description here

如何仅在两侧显示笔划?

这甚至可能吗?

否则我使用的是什么云(我将它作为TextView的背景播种)。

2 个答案:

答案 0 :(得分:7)

以下是使用LayerListDrawable

的解决方案

<强> background_white_lateral_border.xml

<?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="@android:color/white" />
        </shape>
    </item>

    <item>
        <inset
            android:insetLeft="1dp"
            android:insetRight="1dp" >
            <shape android:shape="rectangle" >
                <solid android:color="@android:color/black" />
            </shape>
        </inset>
    </item>

</layer-list>

注意:首先绘制一个白色矩形,然后是一个黑色矩形,其上方有一个左右插图1dp,给出了横向边框的效果。这是一个值得记住的事情,以防你担心性能(在我看来,对于这样的小型造型来说,这可以忽略不计)。

答案 1 :(得分:1)

AFAIK,单个ShapeDrawable无法实现。一个9补丁PNG,或LayerListDrawable两个ShapeDrawables(每行一个)应该可以工作。