形状可绘制为背景,底部有一条线

新手上路,请多包涵

我使用可绘制对象作为 TextView 的背景,只是为了在文本下方有一条分隔线。使用此 drawable-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="#FFDDDDDD" />
            <gradient
                android:angle="0"
                android:startColor="#FFAAAAAA"
                android:endColor="#FFEEEEEE"
                />
        </shape>
    </item>

    <item android:bottom="2dp">
        <shape
        android:shape="rectangle">
            <solid android:color="#FF000000" />
        </shape>
    </item>

</layer-list>

但是此方法在黑色矩形上方绘制了一个彩色矩形。我只想在形状底部有一条线,没有黑色矩形,因为黑色不透明。我怎样才能做到这一点?

原文由 ZoolWay 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

一般来说,除非绝对必要,否则我会尽可能少地弄乱背景,因为这样做会覆盖具有聚焦、按下等状态的默认背景颜色。我建议只使用一个附加视图(在垂直 LinearLayout 中),即你需要的那么厚。例如:

  <View
       android:background="#FF000000"
       android:layout_height="2dp"
       android:layout_width="fill_parent"/>

原文由 dmon 发布,翻译遵循 CC BY-SA 3.0 许可协议

这就是我在底部得到一条线的方式。绘制笔划,然后将项目向上和向两侧移动以使顶部和侧面不显示笔划:

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="-8dp" android:left="-8dp" android:right="-8dp">
        <shape>
            <solid android:color="#2b7996"/>
            <stroke android:color="#33b5e5" android:width="6dp"/>
        </shape>
    </item>
</layer-list>

原文由 Go Rose-Hulman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题