一、简介 当测量好了一个View之后,就可以简单的重写onDraw()方法,并在Canvas对象上来绘制所需要的图形。首先,我们来了解一下利用系统2D绘图API所必须要使用到的Canvas对象。 要在Android的界面中绘制相应的图像,就必须在Canvas上进行绘制。Canvas就像是画板,使用P ...
分类:
移动开发 时间:
2017-05-07 15:37:07
阅读次数:
206
1.View的绘制流程分几步,从哪开始?哪个过程结束以后能看到view? 答:从ViewRoot的performTraversals开始,经过measure,layout,draw 三个流程。draw流程结束以后就可以在屏幕上看到view了。 2.view的测量宽高和实际宽高有区别吗? 答:基本上百 ...
分类:
移动开发 时间:
2017-05-05 19:25:23
阅读次数:
204
##前言 算是第一篇正式的github博文,回顾了一下之前看过的view源码解析,做一个对目前为止View学习小的总结。 我觉得对于源码的解析和学习,把所有流程记下来意义并不是很大,最关键的是: 1.知道基本作用和用法2.大概了解整个流程和实现方法3.了解里面可扩展的地方在哪,更灵活地使用4.整个源 ...
分类:
移动开发 时间:
2017-04-02 23:45:07
阅读次数:
379
invalidate方法源码分析在之前分析View的绘制流程中,最后都有调用一个叫invalidate的方法,这个方法是啥玩意?我们来看一下View类中invalidate系列方法的源码(ViewGroup没有重写这些方法),如下:/** * Mark the area defined by dir... ...
分类:
其他好文 时间:
2017-02-24 19:36:55
阅读次数:
1143
今天突然领悟了之前学习的一些基础的UI属性 就是在我们设置view的圆角的时候 比方说下面的代码 这里给button设置圆角属性 以前一直这么写 知道layer是view的绘制的一层 一直这么用 今天突然领悟为什么要写masktobounds这个属性设为YES了 那么,首先说下layer 每个继承v ...
分类:
移动开发 时间:
2017-02-18 00:47:50
阅读次数:
199
截图的几种方法Android获取屏幕截图主要有以下三种方法1、通过view.getDrawingCache()获取指定View的绘制缓存来实现截屏。这种方式Android 5.0之前也可以,且不需要权限。可以截取本应用内任意位置的屏幕截屏,可能会有些webview会截取不到。注意这种方式只能获取当前... ...
分类:
移动开发 时间:
2017-01-16 18:22:33
阅读次数:
327
第1篇 基础篇 第1章 Android触摸事件传递机制 1.1 触摸事件的类型 1.2 事件传递的三个阶段 1.3 View的事件传递机制 1.4 ViewGroup的事件传递机制 第2章 Android View的绘制流程 2.1 绘制的整体流程 2.2 MeasureSpec 2.3 Measu ...
分类:
移动开发 时间:
2017-01-10 11:28:53
阅读次数:
347
自从1983年第一台图形用户界面的个人电脑问世以来,几乎所有的PC操作系统都支持可视化操作,Android也不例外。对于所有Android Developer来说,我们接触最多的控件就是View。通常,我们使用自定义View,需要了解最多的除了事件分发,就是View的绘制过程。然而关于View的绘制 ...
分类:
移动开发 时间:
2016-12-30 10:48:18
阅读次数:
400
概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。在进行实际的分析之前,我们先来看下面这张图: 我们来对上图做 ...
分类:
移动开发 时间:
2016-12-25 18:44:56
阅读次数:
287