View 基础知识 ----------------------------(1)

View基础知识 ————–(1)

主要内容有: View的位置参数 MotionEvent和TouchSlop对象 VelocityTracker GestureDetector和Scroller对象

1. 什么是view

View是Android中所有控件的基类
在Android的设计中,ViewGroup也继承View
ViewGroup内部可以有子View,而子View同样可以是ViewGroup

2. View的位置参数

View的四个属性:top left right bottom
top:左上角纵坐标
left:左上角横坐标
right:右下角横坐标
bottom:右下角纵坐标
需要注意的是 这些坐标都是相对于View的父容器来说的
在android中,x轴和y轴的正方向分别为右和下

这里写图片描述

如何获得View的这四个参数呢?View的源码中它们对应的获取方式如下:

 - Left = getLeft()
 - Right = getRight()
 - Top = getTop()
 - Bottom = getBottom()

 从android3.0开始 View增加了额外的几个参数:x,y,translationX和translationY
 其中x和y是view左上角的坐标,而translationX和translationY是相对于父容器的偏移量。
      x = left + translationX
      y = top + translationY
 需要注意的是: View在平移中top和left表示的是原始左上角的位置信息,其值并不会改变

3 MotionEvent 和 TouchSlop

3.1 MotionEvent

 - ACTION_DOWN 手指刚接触屏幕
 - ACTION_MOVE 手指在屏幕上移动
 - ACTION_UP 手指从屏幕松开的一瞬间

3.2 TouchSlop

TouchSlop是系统所能识别出的被认为是滑动的最小距离
获取方式:
ViewConfiguration.get(getContext()).getScaledTouchSlop()

4 VelocityTracker GestureDetector和Scroller

4.1 VelocityTracker

速度追踪,用于追踪手指在滑动过程中的速度,包括水平和竖直方向的速度。

4.2 GestureDelector

手势检测,用于辅助检测用户的单击 滑动 长按 双击等行为

4.3 Scoller

弹性滑动对象,用于实现View的弹性滑动。我们知道View的scrollTo/scrollBy方法来进行滑动,其过程是瞬间完成的,
没有过渡效果,用户体验不好,这时可以用Scoller来实现有过渡效果的滑动

github参考示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值