onLayout

android--------自定义控件 之 方法篇

痴心易碎 提交于 2019-12-10 07:41:02
前面简单的讲述了Android中自定义控件的理论和流程图,今天通过代码来详细的讲解一下其中的方法 首先先创建一个类 CircularView 继承于 View,之后实现构造方法(初始化步骤) public class CircularView extends View { public CircularView(Context context) { super(context); } public CircularView(Context context, AttributeSet attrs) { super(context, attrs); } public CircularView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public CircularView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } } View的构造函数有四种重载,View构造函数的参数有多有少, 有四个参数的构造函数在API21的时候才添加上

Android View系统解析(下)

拟墨画扇 提交于 2019-12-04 18:19:32
转载请注明出处: http://blog.csdn.net/singwhatiwanna/article/details/38426471 (来自singwhatiwanna的csdn博客) Android View系统解析系列: Android View系统解析(上) 介绍View的基础知识、View的滑动、弹性滑动、滑动冲突解决方式、事件分发等 Android View系统解析(下) 介绍View的Framework层原理、View的measure / layout / draw三大流程和一些高级技巧 本次主要介绍下半部分,提纲如下 View的绘制过程 measure/layout/draw 工作流程 识别 MeasureSpec 并能够 make 合适的 MeasureSpec 在渲染前获取 View 的宽高 构造特殊的 View 自定义View 自定义View分类 自定义 View 须知 一 View的绘制过程 初识 ViewRoot ViewRoot 对应于 ViewRootImpl 类,是连接 WindowManager 和 DecorView 的纽带。 ActivityThread 中当 activity 对象被创建好后,会将 DecorView 加入到 Window中同时完成 ViewRootImpl 的创建并建立和 DecorView 的联系。 root =