前段时间提了个问题,就是问如何实现如下图中的**线布局方法的。
论坛上有位非常热心的兄弟,给我做了个通过使用分隔线组件来实现的案例。这两天我从网上搜索时,发现还可以通过设置对应控件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)时颜色为白色。
|