Android 自绘控件

作者:Jack_1900 时间:2022-02-19 17:08:13 

由于公司项目的需求,需要绘制一条竖直的间断线作为分割线。这个可坑了爹了,以前只搞过水平的间断线,只要通过shape也可以简单的画出来,但是千万记得把hardwareAccelerated给关了,不然水平的虚线还是会是实线,这个以前也是我趟过的一个坑。那咋办呢,找不到原生的解决方案,不就是一条简单的间断线嘛,还能难住我等程序猿?这个时候,首先联想到的就是自绘控件了。

自绘控件,顾名思义就是控件所展示的内容都是我们自己绘制上去的。所有的绘制操作就是在onDraw()方法里面进行的,当然我们的这个自定义控件都是View的直接子类。比如最常使用的TextView、ImageView就是View的直接子类,也可视作自绘控件,所有的绘图操作也都是在自己的onDraw()中,有兴趣的同学绘图可以去读读这些基本控件的源码。今天第一讲,我们也动手实现我们自己的控件。

直接上代码,比较简洁。

第一步,在attrs.xml中定义控件的属性

Android 自绘控件

定义line_color这个属性主要就是为了控件兼容着想,可以随意定制化间断线的颜色。

第二步、定义DashLine的成员变量

Android 自绘控件

第三步、在构造方法中初始化变量

Android 自绘控件

第四步、绘图

Android 自绘控件

第五步、布局使用

Android 自绘控件

代码比较简洁,也有注释,就不多说了。看下成果

Android 自绘控件

来源:https://my.oschina.net/jack1900/blog/289839

标签:Android,自绘控件
0
投稿

猜你喜欢

  • Jenkins Pipeline 部署 SpringBoot 应用的教程详解

    2022-09-26 14:06:27
  • springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能

    2022-09-17 21:36:41
  • Android实现双曲线折线图

    2023-07-29 15:07:28
  • java使用jaxb操作xml示例

    2023-11-05 15:02:18
  • Java超详细透彻讲解static

    2021-10-13 12:18:34
  • Java中CyclicBarrier和CountDownLatch的用法与区别

    2021-09-09 08:20:01
  • 深入分析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
  • 浅谈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
  • 重新认识Java的System.in

    2023-08-24 01:55:18
  • Android 打开相册选择单张图片实现代码

    2023-05-29 17:06:38
  • SpringBoot找不到映射文件的处理方式

    2023-10-15 07:40:11
  • C#导出网站功能实例代码讲解

    2023-09-15 03:15:36
  • asp之家 软件编程 m.aspxhome.com