基本知识
- android中的坐标系
在android中最左上角的顶点是坐标原点,在这个点向右是x轴的正方向,这个点的下方是y轴的正方向。可以通过getRowX()
和getRowY
获取坐标系中的坐标
- 触摸时间MoveEvent
- public static final int ACTION_DOWN = 0;//单点触摸按下
- public static final int ACTION_UP = 0;//单点触摸离开
- public static final int ACTION_MOVE = 0;//单点触摸移动
- public static final int ACTION_CANCLE = 0;//单点触摸取消
- public static final int ACTION_POINTER_DOWN = 0;//多点触摸按下
- public static final int ACTION_POINTER_UP = 0;//多点触摸离开
- view提供的获取坐标的防范
getTop:获取是view自身底部的到父控件顶边的距离。同理getLeft,getRight,getBottom都是相对于其父控件。
- MoverEvent提供的方法
- getX:获取点击事件距离当前控件左边的距离(视图坐标)
- getY:获取点击事件距离当前控件顶边的距离(视图坐标)
- getRowX:获取点击事件距离屏幕左边的距离(绝对坐标)
- getRowY:获取点击事件距离屏幕顶边的距离(绝对坐标)
实现滑动的七方法
- layout(l,t.r,b)
- offsetLeftAndRight(offsetX), offsetTopAndBottom(offsetY)
- LayoutParams
- scrollTo(移动到一个准确的目标),scrollBy(移动一个偏移量)
- Scroller 类
scroll类的使用方法
1. 初始化Scroller
- 重写computeScroll ,实现模拟滑动
@override
public void computescroll(){
super.computeScroll();
//判断Scroller是否执行完毕,没有执行完毕返回true
if(mScroller.computeScrollOffset()){
((View)getParent()).scrollTo(
mScroller.getCurrX(),
mScroller.getCurrY());
//通过重绘来不断调用computeScroll
invalidate();
}`
- startScroll 开启模拟过程
- 动画属性
- ViewDraghelper