layer-list实现只有左、右和下边框的圆角矩形
2015-09-23 16:27
302 查看
项目中需要实现如下效果的布局
也就是一个左右下角带圆角,上方不带圆角的白色背景矩形,而且只有左、右和下边框,颜色为浅灰色。
当然,切一个.9图片作为背景也能实现,但是能用代码实现的还是尽量用代码实现,因为图片过多一个消耗内存,另一个还增加apk大小。
这种效果可以通过layer-lsit来实现,在drawable文件夹下面建一个xml文件,具体代码如下:
layer-lsit的用法注释中也讲的比较详细。
然后在View中设置背景为改drawable即可。
也就是一个左右下角带圆角,上方不带圆角的白色背景矩形,而且只有左、右和下边框,颜色为浅灰色。
当然,切一个.9图片作为背景也能实现,但是能用代码实现的还是尽量用代码实现,因为图片过多一个消耗内存,另一个还增加apk大小。
这种效果可以通过layer-lsit来实现,在drawable文件夹下面建一个xml文件,具体代码如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- layer-list中的item是按照顺序从下往上叠加的,即先定义的item在下面,后面的依次往上面叠放 --> <!-- 这里定义一个下面带圆角,上面不带圆角的矩形,边框颜色为@color/line_color --> <item> <shape> <corners android:bottomLeftRadius="5dp" android:bottomRightRadius="5dp" /> <stroke android:width="1px" android:color="@color/line_color" /> </shape> </item> <!-- 这里定义一个下面带圆角,上面不带圆角的矩形,背景为白色 这里设置了android:right="1px" android:left="1px" android:bottom="1px"属性 android:right="1px"表示该item右边往里面缩了1px android:left="1px"表示该item左边往里面缩了1px android:bottom="1px"表示该item下面往里面缩了1px 这样,左、右、下都比原来缩小了1px,这缩小出来的郑刚是上面一个item的边框的左、右、下边框 而top没有缩小,所以覆盖了上面一个item的边框的上边框。 所以这个item叠加上面一个item之后的效果就是一个只含左、右、下灰色边框,下面带圆角,上面不带圆角的白色背景矩形 --> <item android:right="1px" android:left="1px" android:bottom="1px"> <shape> <corners android:bottomLeftRadius="5dp" android:bottomRightRadius="5dp" /> <solid android:color="@color/white" /> </shape> </item> </layer-list>
layer-lsit的用法注释中也讲的比较详细。
然后在View中设置背景为改drawable即可。
相关文章推荐
- bzoj3993[SDOI2015]星际战争
- 用Navicat_SSH 连接数据库服务器
- 前端常见BUG--js,及处理方法(持续更新)
- SQL to Mongo Shell to C++ ( 备忘 )
- 植物大战僵尸二:游戏界面的绘制
- 对block,单例模式的理解及使用
- Unity技巧2
- [网易笔试]Best Compression Algorithms
- 【.Net码农】 jquery访问ashx文件示例
- 句子相似度
- HDU 2531
- 一场大雨引发的思考
- 轻松搞定RabbitMQ(一)——RabbitMQ基础知识+HelloWorld
- 小米面试题目(测试开发岗位——不是测试,是测试工具和平台的开发岗位)
- do{...}while(0)的意义和用法
- 前端常见BUG--js,及处理方法(持续更新)
- 自己需要的日期格式
- IOS TableView实现省市联动
- 愛情世界裏沒有真正的幸福
- ActionBar