我试图在 XML 中实现这样的 ShapeDrawable,但到目前为止没有成功。
如何使 Stroke 仅在两侧可见?
这甚至可能吗?
否则我使用什么云(我将它作为 TextView 的背景播种)。
我试图在 XML 中实现这样的 ShapeDrawable,但到目前为止没有成功。
如何使 Stroke 仅在两侧可见?
这甚至可能吗?
否则我使用什么云(我将它作为 TextView 的背景播种)。
这是一个使用 a 的解决方案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
,给出横向边框的效果。这只是要记住的事情,以防您担心性能(在我看来,这对于像这样的次要样式可以忽略不计)。
AFAIK,这对于单个ShapeDrawable
. 不过,九个补丁 PNG 或LayerListDrawable
两个ShapeDrawables
(每行一个)应该可以工作。