我有一个简单的目标。我想要我的 FrameLayout 上有一个浅灰色背景,下面有一条黑色分界线(仅在下面,而不是周围)。到目前为止我有这个:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" android:gravity="center">
<solid android:color="#EEEEEE" />
</shape>
</item>
<item>
<shape android:shape="line" android:gravity="bottom" >
<stroke android:width="1dip" android:color="#010101"/>
</shape>
</item>
</layer-list>
但它通过中心画线,即忽略重力=“底部”位。我怎样才能解决这个问题?
编辑:这个问题是very老的。所选答案可能符合也可能不符合当前的 API 等。我们鼓励您提出自己的问题,而不是添加到这个问题,因为该问题不再受到监控。
我也为此经历了很多挣扎。基本上,要在底部创建边框,您必须以与预期相反的方向思考。您从一个带有边框颜色的矩形开始。最重要的是,您绘制实际的颜色,并与底部有一定的偏移。
我用这个:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- CREATE A RECTANGLE WITH YOUR BORDER COLOR -->
<item>
<shape android:shape="rectangle" >
<solid android:color="#fff"/>
</shape>
</item>
<!-- NOW DEFINE THE NORMAL COLOR-->
<item android:bottom="BOTTOM_BORDER_THICKNESS E.G. 4dp">
<shape android:shape="rectangle" >
<solid android:color="#ccc"/>
</shape>
</item>
</layer-list>
Or, as 胡安·巴勃罗·萨拉切诺 https://stackoverflow.com/users/1084023/juan-pablo-saraceno建议:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<color android:color="YOUR_BORDER_COLOR" />
</item>
<item android:top="YOUR_BORDER_THICKNESS">
<color android:color="YOUR_BG_COLOR" />
</item>
</layer-list>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)