
自定义View绘制详解
文章平均质量分 83
以View生命周期为指导框架,着眼于View绘制细节,通过各类Canvas绘制示例及实际绘制效果,逐步掌握使用自定义View实现UI效果绘制的一般思路及实现策略。
小海编码日记
Android开发工程师,先后从事ROM定制,App架构设计,产品需求研发等工作
展开
-
View绘制系列(5)-Canvas基础图形绘制
Canvas基础图形绘制 上文中我们简单实现了使用自定义View绘制一个边长100的正方形这个需求,不知道同学们掌握的怎么样了?接下来我们看下自定义View中其他图形的绘制方式。 下表中罗列了Canvas中绘图方法及说明(由于大多数方法都有多个重载实现,我们表中只列出比较常用的): 方法名 方法说明 备注 drawPoint(float x, float y, @NonNull Paint paint) 绘制点 Paint#setStrokeWidth(float width)设置点的大小原创 2020-11-02 20:30:43 · 527 阅读 · 0 评论 -
View绘制系列(4)-第一个自定义View
编写第一个自定义View 为了后续文章中描述方便,我们把布局过程中的两个步骤单独分离,分别称为测量过程和布局过程。 本篇文章的目标是在View内部(100,100)坐标处绘制一个边长为100的正方形,效果如下: 怎么实现上面所说的效果呢?首先来考虑下如果是在现实生活中,我们要绘制一个顶点在(100,100),边长为100的正方形,我们需要什么呢? 纸 笔 坐标系 那么在View系统中是否有响应的抽象实现呢?如果有的话,绘制工作就变的异常简单了。首先来看下坐标系,这个肯定有啊,我们在View原创 2020-11-02 20:28:59 · 176 阅读 · 0 评论 -
View绘制系列(3)-自定义View简介
自定义View简介 经过前面两篇文章的介绍,相信大多数同学已经清楚的认识了View,那么我们来看下自定义View这个主题,在小册简介中,我们已经描述了自定义View的目的,同学们还记得吗?用于解决使用系统控件实现不了或实现比较复杂的UI效果。 在View简介部分,我们看到不管是XXXLayout还是XXXView,这些系统组件都直接或间接继承自View,那么自定义View的方式自然也有区分,根据继承父类的不同,我们大致可以将自定义View分为三类: 继承自View 继承自ViewGroup 继承自已有控件原创 2020-11-02 20:25:16 · 109 阅读 · 0 评论 -
View绘制02-View生命周期
View生命周期 在View简介之后,我们已经清楚的认识到View的基本概念: View是屏幕上的一块用于绘制和用户交互的矩形区域 View是一个类,该类对象在View树创建或者我们使用java new关键词调用构造函数时创建 了解C++的小伙伴们肯定都听过构造函数和析构函数这两个名词,通过构造函数我们可以生成一个类对象,通过析构函数我们可以完成一个对象的销毁,那么对于同样面对对象的Java而言,其是否有相似的机制?当然有,在Java中,我们通过构造函数进行对象创建,而对象的销毁由Java GC(全称G原创 2020-10-25 21:07:44 · 234 阅读 · 0 评论 -
View绘制01-Android渲染系统中的View
Android渲染系统中的View 对于初级开发者而言,在面试中,经常会和面试官聊到Android四大组件,聊到Activity,其中回答最纯熟的一句话就是: Activity的作用是应用与用户之间交互的重要组件 那么Activity之交互功能又是怎么实现的呢?答案不言而喻-View 我们在Activity onCreate的时候调用setContentView方法为Activity设置布局,实际上就相当于对用户开放了多个交互接口,用户可以通过布局中一个一个的View进行自己想要的操作,我们也可以通过V原创 2020-10-24 12:12:57 · 368 阅读 · 0 评论