当前位置: 首页 > news >正文

android开发(34) 自定义 listView的分割线( 使用xml drawable画多条线)

我遇到这样一个场景,我需要自定义 listView的分割线,而这个分割线是由两条线组成的,在使用xml drawable时遇到了困难。

注释:画两条线是为了实现 凹陷的效果,在绘图中一条暗线紧跟着一条明显会给人视觉上产生明显的“沟”的感觉。

因为我的背景是透明(背景渐变)的,直接用图片来实现效果不好。

 

看看效果:

 

使用 layer-list 来实现。

layer-list 可以包含多个item,每个item堆叠在一起。

layer-list  的item可以设置 间距,使用  android:bottom 这样的属性来实现。

 

具体做法:

1.先绘制第一条线。

2.第二条线设定间距,距离头部1px,这样才不会完全重叠

3.两条线堆叠在一起

 

具体代码如下。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:bottom="0px"
        android:left="0px"
        android:right="0px"
        android:top="0px">
        <shape android:shape="rectangle" >
            <size
                android:height="1px"
                android:width="1px" />

            <solid android:color="#A18249" />
        </shape>
    </item>
    <item
        android:bottom="0px"
        android:left="0px"
        android:right="0px"
        android:top="3px">
        <shape android:shape="rectangle" >
            <size
                android:height="2px"
                android:width="2px" />

            <solid android:color="@android:color/white" />
        </shape>
    </item>

</layer-list>

 

参考:http://stackoverflow.com/questions/14436641/understanding-androids-layer-list

相关文章:

  • elasticsearch常用操作命令
  • 【实习记】2014-09-04浏览代码查middle资料+总结我折腾过的源码浏览器
  • 查找字符串中出现最多的字符
  • xshell 4 中文乱码问题解决
  • Html的空格显示
  • Java基础-Date类常用方法介绍
  • 910
  • 区块链研习 | DAG网络:Blockless无区块概念将解决区块链交易性能问题
  • jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)
  • 干货 | 手把手教你用python实现新浪微博模拟登陆,超详细
  • 百度编辑器ueditor 在vs2008中的使用方法
  • cordova 建立工程生成apk
  • 回流、重绘及其优化
  • JMeter学习参数化User Defined Variables与User Parameters
  • LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装
  • Git 使用集
  • java 多线程基础, 我觉得还是有必要看看的
  • javascript面向对象之创建对象
  • JavaWeb(学习笔记二)
  • NSTimer学习笔记
  • SAP云平台里Global Account和Sub Account的关系
  • unity如何实现一个固定宽度的orthagraphic相机
  • webpack4 一点通
  • 在Mac OS X上安装 Ruby运行环境
  • 追踪解析 FutureTask 源码
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #14vue3生成表单并跳转到外部地址的方式
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $.ajax中的eval及dataType
  • (175)FPGA门控时钟技术
  • (2)(2.10) LTM telemetry
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (转)一些感悟
  • ./configure、make、make install 命令
  • .axf 转化 .bin文件 的方法
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NetCore 如何动态路由
  • .NetCore项目nginx发布
  • .NET是什么
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [Angularjs]ng-select和ng-options
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [Contest20180313]灵大会议
  • [Design Pattern] 工厂方法模式