微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android边框顶部底部具有不同的颜色/宽度

我已经阅读了一些教程,但我却能
实现的是一侧或两侧的边界
相同的颜色.
我正在尝试创建一种将应用边框的样式
顶部的颜色和宽度与底部的边框不同.

所以我想在上面有一个蓝色的2dp边框
底部的3dp边框为红色.

这是我用来在顶部和底部应用边框的样式
但我无法更改顶部或底部的颜色.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FF000000" />
            <solid android:color="#FFddddDD" />

        </shape>
   </item>

   <item android:top="1dp" android:bottom="1dp"> 
      <shape 
        android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FFddddDD" />
            <solid android:color="#00000000" />
        </shape>
   </item>

</layer-list>

解决方法:

它有点脏,但是可以用:).

您的图层列表可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- TOP stroke-->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/top_stroke_color" />

        </shape>
    </item>
    <!-- BottOM stroke-->
    <item android:top="@dimen/top_stroke_width">
        <shape android:shape="rectangle">
            <solid android:color="@color/bottom_stroke_color" />
        </shape>
    </item>
    <!-- MAIN SHAPE -->
    <item android:top="@dimen/top_stroke_width" android:bottom="@dimen/bottom_stroke_width">
        <shape android:shape="rectangle">
            <solid android:color="@color/main" />
        </shape>
    </item>
</layer-list>

颜色定义:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="top_stroke_color">#0000FF</color>
    <color name="bottom_stroke_color">#FF0000</color>
    <color name="main">#00FF00</color>
</resources>

最后变暗:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="top_stroke_width">10dp</dimen>
    <dimen name="bottom_stroke_width">20dp</dimen>
</resources>

在我的示例中,我有3个设置了正确“边距”的矩形.我的每个矩形都小于下面的矩形并覆盖它.根据我的解决方案,您可以为您的主要形状的每一侧创建4个不同的笔触.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐