美文网首页
Android中的View事件体系(Android开发艺术探索)

Android中的View事件体系(Android开发艺术探索)

作者: xiaobug | 来源:发表于2020-04-29 13:51 被阅读0次

    1,View的位置参数

    View的位置坐标和父容器的关系.png

    此时,View的宽高和坐标的关系为:

    width = right-left;
    height = bottom-top;
    

    从Android3.0开始,View增加了额外的几个参数:x,y,translationX和translationY,其中,x和y是左上角的坐标,而translationX和translationY是View左上角相对于父容器的偏移量;translationX和translationY的默认值都为0;View为这8个参数都提供了set/get方法,可以方便的获取;

    三个参数的关系:

    x=left+translationX;
    y=top+translationY;
    

    需要注意的是,View在平移的过程中,top和left是原始左上角的位置信息,其值不会发生改变,变化的是translationX,translationY,x和y这四个参数;

    2,MotionEvent和TouchSlope

    1>MotionEvent

    常见的三个事件:
    ACTION_DOWN:手指刚接触屏幕;
    ACTION_MOVE:手指在屏幕上移动;
    ACTION_UP: 手指在屏幕上松开的一瞬间;
    通过MotionEvent对象,我们可以得到点击事件发生的x和y坐标,
    为此,系统提供了getX/getY(返回相对于当前View左上角的x,y坐标)和getRawX/getRawY(返回相对于手机屏幕左上角的x,y坐标);

    2>TouchSlop

    TouchSlop是系统所能识别出来的被认为是滑动的最小距离,如果手指在屏幕上滑动,两次滑动之间距离小于这个常量,那么系统就不认为你是在进行滑动操作;
    获取这个常量值:ViewConfiguration.get(getContext).getScaledTouchSlop();

    相关文章

      网友评论

          本文标题:Android中的View事件体系(Android开发艺术探索)

          本文链接:https://www.haomeiwen.com/subject/kbfwattx.html