关于Android中View的基础知识

什么是View

View 是Android中所有控件的基类,基本所有控件都是其子类

控件中又主要分为两类,View和ViewGroup,毫无疑问,都属于View,不同的是,ViewGroup中一般可以包含多个View。

常见的布局都属于ViewGroup

View的位置参数

既然知道了什么是View,那么怎么确定View在屏幕上的位置呢?

关于这一点,Android系统并没有使用什么奇特的办法,还是常规的用四个坐标点来描述位置

top,left,right,bottom

正方向分别是下和右

需要注意的是,这些位置点都是相对于父容器的,是相对坐标。

自3.0之后,添加了两个新坐标值,translationX,translationY,表示控件左上角相对父容器的偏移量。

MotionEvent和TouchSlop

MotionEvent是指手指接触屏幕后的一系列动作,主要包含三种
ACTION_DOWN
ACTION_MOVE
ACTION_UP

TouchSlop指的是系统指定的滑动的最小距离,不足这个距离系统就不认为产生了滑动事件。

VelocityTracker,GestureDetector和Scroller

分别代表了滑动速度测量的类

手势检测的类

以及滑动的类

由于这三个类的使用都比较简单,这里就不详细叙述了

View的滑动

View的滑动有三种方法
1.scrollTo/ScrollBy 适用于内容的滑动,像listview的滑动等等
2.使用动画 比较简单,适合整体移动,但是移动后点击事件区域不会跟着动,需要特殊处理
3.改变布局参数 比较复杂,但是无明显的副作用

关于弹性滑动的几种方式

弹性滑动指的是滑动的时候有一个过程,而不是瞬间到达

主要有三种方式

1.使用scroller进行滑动 其实是通过强制重绘来达到的弹性滑动
2.通过动画 可以在滑动过程中进行一些自己的操作,原生也有滑动的动画
3.使用延时策略 定时发送消息调用scroll实现,可以实现自己操作

u3coding
A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*