
自定义View学习
文章平均质量分 93
记录自定义View学习过程
jxq1994
你若不离不弃,我必同归于尽
欢迎关注简书:https://www.jianshu.com/u/b8d2aee8cd4c
新的内容将在简书更新
展开
-
深入理解Android View 中的构造函数
在代码中创建View的时候用View(Context)当从XML inflate view的时候重写View(Context, AttributeSet)。对于那些仍和我一样想继续探究的人-让我们深入下去吧。本文不是应该讨论View的构造函数的吗?一般来说,你只需实现前两个(一个用于代码,一个用于XML inflation)。}}只需要这个两个参数的构造方法你就能随意的使用obtainStyledAttributes()了。转载 2022-10-21 10:24:22 · 295 阅读 · 0 评论 -
Scroller & ViewDragHelper工具类
凡是包裹在ViewGroup中的子控件,当我们需要实现拖动这些子控件的效果时,都可以考虑使用ViewDragHelper类。ViewDragHelper类提供了很多函数和跟踪状态,以便用户拖拽和重新布局其内部的子控件。原创 2022-10-17 18:58:32 · 537 阅读 · 0 评论 -
Android 事件分发机制
Android事件分发机制原创 2022-10-13 16:32:58 · 741 阅读 · 0 评论 -
View触摸分析
用户消息是指经过消息处理前端把硬件物理消息转换成内部定义的统一格式后的消息。这些消息目前分为三类,分别是按键消息(KeyEvent)、点消息(Pointer)或者也叫触摸消息、轨迹球( Trackball)消息。重点关注前两类即可。按键消息的实现类是,该类定义了消息包含的参数,以及获取这些参数的API接口。以上过程需要注意两点。触摸消息的实现类在中,该类定义了和触摸相关的消息参数,并提供了一组API 接口让用户获取这些参数。首先,在 ViewRoot中定义了一个 对 象 ,当底层得到按键消息后,会回调原创 2022-06-23 20:28:20 · 788 阅读 · 0 评论 -
自定义基础之Draw过程
绘制过程主要是把View对象绘制到屏幕上,并且如果该View是一个ViewGroup,则需要递归绘 制该ViewGroup中所包含的所有子视图。原创 2022-06-13 12:24:31 · 1131 阅读 · 0 评论 -
自定义View基础之Layout
layout过程其实是比较简单的,其目的就是父视图按照子视图的大小及布局参数,将子视图放置到合适的位置上。布局参数最核心的是处理gravity参数。原创 2022-06-06 20:08:40 · 763 阅读 · 0 评论 -
自定义View之基础篇
测量篇(measure)计算视图大小的过程-measure首先需要澄清一个概念,即“视图大小”,视图大小是指什么?应用程序开发时,我们可以在layout.xml文件中使用android:layout_height及layout_width属性设置宽和高,这指的是视图大小吗?答案是No!layout.xml中设置的android:layout_height和android:layout_width指的是父视图给子View设置的“窗口大小”,因此更确切的说应该是视图的布局(layout)大小。该属性值可原创 2022-06-06 15:22:46 · 373 阅读 · 0 评论