blackangeldsf 发表于 2022-5-6 16:15:39

【分享】控件设置边框的方法

前段时间提了个问题,就是问如何实现如下图中的**线布局方法的。

论坛上有位非常热心的兄弟,给我做了个通过使用分隔线组件来实现的案例。这两天我从网上搜索时,发现还可以通过设置对应控件xml背景图来实现。下面我就和大家分享下,或许对不熟悉安卓开发的兄弟有用。

实现方法1,通过xml文件中的shape元素。shape元素有stroke属性,这个属性只可以显示控件的四个边框。xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
      android:color="#FF0088FF"
      android:width="2dp"      />
</shape>





实现方法2,通过xml文件中的layer-list元素来实现。layer-list中有item子元素,每个子元素从下向上依次沿Z轴(不是X或Y轴)显示。通过控制上层item的大小来模拟边框。此方法,可控制四个边框的显示与否。xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--底层使用**填充,为将要显示为边框颜色-->
    <item>
      <shape>
            <!-- <solid android:color="#FFA6A6A6"/> -->
                        <solid android:color="#FFA6A6A6"/>
      </shape>
    </item>

    <!--上面一层距离底层的顶部1dp,距离底部1dp,类似marginTop,填充色为APP背景色,这样就形成了一个带有顶部边线和底部边线的背景图-->
    <item android:bottom="1dp"
          android:top="1dp">
      <shape>
            <solid android:color="#FFF6F6F6"/>
      </shape>
    </item>
</layer-list>
好啦,完成了。顺带说一句安卓的颜色代码含义,供参考。

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“ # ”字符开头的8位16进制表示。其中ARGB 依次代表透明度(Alpha)、红色(Red)、绿色(Green)、蓝色(Blue),取值范围为0 ~ 255(即16进制的0x00 ~0xff)。A 从0x00到0xff表示从透明到不透明,RGB 从0x00到0xff表示颜色从浅到深。当RGB全取最小值(0或0x000000)时颜色为黑色,全取最大值(255或0xffffff)时颜色为白色。







moz-extension://9c91bbd0-d002-4a0d-944e-e00af4b684ab/assets/img/T.cb83a013.svg

页: [1]
查看完整版本: 【分享】控件设置边框的方法