![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 自定义 View
strugglelin
这个作者很懒,什么都没留下…
展开
-
ViewRoot、DectorView、Window
1、ViewRoot定义:连接器,实现类 ViewRootImpl。作用:连接 WindowManager(实现类 WindowManagerImpl) 和 DecorView;完成 View 的绘制流程(measure/layout/draw)。2、DecorView定义:窗口顶层 View ,继承 FrameLayout。作用:显示 和 加载布局。3、Window定义:...原创 2019-11-27 15:13:16 · 409 阅读 · 0 评论 -
DecorView:创建与显示
文章目录1、DecorView 创建2、DecorView 显示1、DecorView 创建创建 PhoneWindow 对象。为 PhoneWindow 设置 WindowManager 对象。为 PhoneWindow 创建一个 DecorView 对象。为 DecorView 的 ContentView 设置 activity 中设置的布局文件。Activity.java ...原创 2019-12-05 15:42:48 · 376 阅读 · 0 评论 -
自定义 View:Measure 过程
文章目录1、作用2、关键类:LayoutParams2、关键类:MeasureSpecs3、Measure 过程1、作用作用:测量 View 的宽高。注意:有些情况需要多次测量,measure 过程得到的宽高可能不准确;onLayout 获取最终宽高。2、关键类:LayoutParams作用:指定视图宽高等布局参数。参数:layout_height = match_parent ...原创 2019-12-17 14:33:52 · 162 阅读 · 0 评论 -
自定义 View 基础
View 定义:显示在屏幕上的各种视图。View 分类:View(单一视图)、ViewGroup(视图组)。View 结构:树形结构,从根节点开始测量绘制(树形递归)。Android 坐标:坐标原点-左上角;正方向-向右向下。View 位置:Top,Left,Bottom,Right。位置获取:Viiew.getTop()…;MotionEvent:触摸点相对父容器坐标系位置-eve...原创 2019-12-11 09:52:17 · 202 阅读 · 0 评论 -
自定义 View:Layout 过程
1、作用作用:计算 View 的位置。2、Layout 过程View 的 Layout 过程:layout->onLayout(空实现)。ViewGroup 的 Layout 过程:原创 2020-01-20 16:59:26 · 175 阅读 · 0 评论 -
自定义 View:Draw 过程
1、作用作用:绘制 View。2、Draw 过程View 的绘制过程:draw()->drawBackground(绘制背景)->onDraw(绘制内容,重写)->dispatchDraw(绘制子view,空实现)->onDrawForeground(绘制装饰(滚动指示器、滚动条、前景等)) View.java public void draw(...原创 2020-02-17 10:07:14 · 217 阅读 · 0 评论 -
Android 事件分发机制
文章目录1、基础2、源码分析1、基础事件分发对象:点击事件(Touch 事件)。事件定义:触摸屏幕,将产生点击事件。Touch 事件的细节(触摸时间、位置等)被封装成 MotionEvent 对象。事件类型:事件类型具体动作MotionEvent.ACTION_DOWN按下MotionEvent.ACTION_UP抬起MotionEvent.ACT...原创 2020-02-27 15:56:21 · 218 阅读 · 0 评论