Android 自绘控件
作者:Jack_1900 时间:2022-02-19 17:08:13
由于公司项目的需求,需要绘制一条竖直的间断线作为分割线。这个可坑了爹了,以前只搞过水平的间断线,只要通过shape也可以简单的画出来,但是千万记得把hardwareAccelerated给关了,不然水平的虚线还是会是实线,这个以前也是我趟过的一个坑。那咋办呢,找不到原生的解决方案,不就是一条简单的间断线嘛,还能难住我等程序猿?这个时候,首先联想到的就是自绘控件了。
自绘控件,顾名思义就是控件所展示的内容都是我们自己绘制上去的。所有的绘制操作就是在onDraw()方法里面进行的,当然我们的这个自定义控件都是View的直接子类。比如最常使用的TextView、ImageView就是View的直接子类,也可视作自绘控件,所有的绘图操作也都是在自己的onDraw()中,有兴趣的同学绘图可以去读读这些基本控件的源码。今天第一讲,我们也动手实现我们自己的控件。
直接上代码,比较简洁。
第一步,在attrs.xml中定义控件的属性
定义line_color这个属性主要就是为了控件兼容着想,可以随意定制化间断线的颜色。
第二步、定义DashLine的成员变量
第三步、在构造方法中初始化变量
第四步、绘图
第五步、布局使用
代码比较简洁,也有注释,就不多说了。看下成果
来源:https://my.oschina.net/jack1900/blog/289839
标签:Android,自绘控件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Jenkins Pipeline 部署 SpringBoot 应用的教程详解
2022-09-26 14:06:27
![](https://img.aspxhome.com/file/2023/0/61240_0s.png)
springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能
2022-09-17 21:36:41
![](https://img.aspxhome.com/file/2023/8/119178_0s.jpg)
Android实现双曲线折线图
2023-07-29 15:07:28
![](https://img.aspxhome.com/file/2023/2/85462_0s.jpg)
java使用jaxb操作xml示例
2023-11-05 15:02:18
Java超详细透彻讲解static
2021-10-13 12:18:34
![](https://img.aspxhome.com/file/2023/4/66034_0s.png)
Java中CyclicBarrier和CountDownLatch的用法与区别
2021-09-09 08:20:01
![](https://img.aspxhome.com/file/2023/1/76221_0s.png)
深入分析Java内存区域的使用详解
2023-09-25 23:21:29
关于Spring Cloud 本地属性覆盖的问题
2021-09-17 09:26:42
JAVA8 Stream流中的reduce()方法详解
2023-09-01 21:10:33
举例讲解JDK注解的使用和自定义注解的方法
2022-06-29 17:34:52
java日期操作工具类(获取指定日期、日期转换、相隔天数)
2023-11-28 06:42:53
C#清除WebBrowser中Cookie缓存的方法
2022-01-13 20:01:08
Android自定义密码输入框和数字键盘
2022-02-04 11:14:00
![](https://img.aspxhome.com/file/2023/1/103871_0s.gif)
浅谈Java中ArrayList线程不安全怎么办
2023-10-02 19:24:56
C#类中static变量用法分析
2022-06-20 16:14:23
Spring Boot 结合 aop 实现读写分离
2023-09-29 07:53:02
![](https://img.aspxhome.com/file/2023/6/62526_0s.png)
重新认识Java的System.in
2023-08-24 01:55:18
Android 打开相册选择单张图片实现代码
2023-05-29 17:06:38
SpringBoot找不到映射文件的处理方式
2023-10-15 07:40:11
![](https://img.aspxhome.com/file/2023/7/72527_0s.png)
C#导出网站功能实例代码讲解
2023-09-15 03:15:36