您的位置:首页 > 移动开发 > Android开发

Android Scroll

2016-01-12 15:31 393 查看

Android坐标系



在Android中,将屏幕最左上角的顶点作为Android的坐标系远点,往右和往下为正。

Android视图坐标系



视图坐标系,原点不在是Android坐标系中的屏幕最左上角,而是以父视图左上角为坐标原点。

触控事件——MotionEvent

触控事件MotionEvent中封装了一些常用的事件常量,它定义了触控事件的不同类型。

//单点触摸按下动作
public static final int ACTION_DOWN = 0;
//单点触摸离开动作
public static final int ACTION_UP = 1;
//触摸点移动动作
public static final int ACTION_MOVE = 2;
//触摸动作取消
public static final int ACTION_CANCEL = 3;
//触摸动作超出边界
public static final int ACTION_OUTSIDE = 4;
//多点触摸按下动作
public static final int ACTION_POINTER_DOWN = 5;
//多点触摸离开动作
public static final int ACTION_POINTER_UP = 6;


通常情况下,我们会在onTouchEvent(MotionEvent event)方法中通过event.getAction()方法来获取触控事件的类型,并使用switch-case方法来进行筛选,这个代码的模式基本固定,如下:

@Override
public boolean onTouchEvent(MotionEvent event){
//获取当前输入点的X、Y坐标()视图坐标
int x = (int)event.getX();
int y = (int)event.getY();
switch(event.getAction){
case MotionEvent.ACTION_DOWN:
//处理输入的按下事件
break;
case MotionEvent.ACTION_MOVE:
//处理输入的移动事件
break;
case MotionEvent.ACTION_UP:
//处理输入的离开事件
break;
}
return true;
}


获取坐标值的各种方法



View提供的获取坐标的方法。

getTop():获取到的是View自身的顶边到其父布局顶边的距离。

getLeft():获取到的是View自身的左边到其父布局左边的距离。

getRight():获取到的是View自身的右边到其父布局边的距离。

getBottom():获取到的是View自身的底边到其父布局边的距离。

MotionEvent提供的方法。

getX():获取点击事件距离控件左边的距离,即视图坐标。

getY():获取点击事件距离控件顶边的距离,即视图坐标。

getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。

getRawX():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: