兰州网站seo,网站广告如何做,如何建三网合一网站,江苏常州建设银行网站Android 系统中有两种坐标系#xff0c;分别为 Android 坐标系和 View 坐标系。了解这两种坐标系能够帮助我们实现 View 的各种操作#xff0c;比如我们要实现 View 的滑动#xff0c;你连这个 View 的位置都不知道#xff0c;那如何去操作呢#xff1f; 一、Android 坐标… Android 系统中有两种坐标系分别为 Android 坐标系和 View 坐标系。了解这两种坐标系能够帮助我们实现 View 的各种操作比如我们要实现 View 的滑动你连这个 View 的位置都不知道那如何去操作呢 一、Android 坐标系
在 Android 中将屏幕左上角的顶点作为 Android 坐标系的原点这个原点向右是 X 轴正方向向下是 Y 轴正方向如图1所示。另外在触控事件中使用 getRawX() 和 getRawY() 方法获得的坐标也是 Android 坐标系的坐标。 图1 Android 坐标系 二、View 坐标系
View 坐标系与 Android 坐标系并不冲突两者是共同存在的它们一起来帮助开发者更好地控制 View。对于 View 坐标系我们只需要搞明白图2中提供的信息就好了。 图2 View 坐标系 View 获取自身的宽和高 根据图2可以得到很多结论首先我们能算出 View 的宽和高 width getRight() - getLeft()
height getBottom() - getTop()当然这样做显然有些麻烦因为系统已经向我们提供了获取 View 宽和高的方法。getWidth() 用来获取 View 自身的宽度getHeight() 用来获取 View 自身的高度。从 View 的源码来看getWidth() 和 getHeight() 获取 View 自身的宽度和高度的算法与上面从图2中得出的结论是一致的。View 源码中的 getWidth() 方法和 getHeight() 方法如下所示 public final int getWidth() {return mRight - mLeft;
}public final int getHeight() {return mBottom - mTop;
}View 自身的坐标 通过如下方法可以获得 View 到其父控件ViewGroup的距离。 getTop()获取View自身顶边到其父布局顶边的距离。getLeft()获取View自身左边到其父布局左边的距离。getRight()获取View自身右边到其父布局左边的距离。getBottom()获取View自身底边到其父布局顶边的距离。 MotionEvent 提供的方法 图2中的那个蓝色圆点假设就是我们触摸的点。我们知道无论是 View 还是 ViewGroup最终的点击事件都会由 onTouchEventMotionEvent event方法来处理。MotionEvent 在用户交互中作用重大其内部提供了很多事件常量比如我们常用的 ACTION_DOWN、ACTION_UP 和 ACTION_MOVE。此外MotionEvent 也提供了获取焦点坐标的各种方法。 getX()获取点击事件距离控件左边的距离即视图坐标。getY()获取点击事件距离控件顶边的距离即视图坐标。getRawX()获取点击事件距离整个屏幕左边的距离即绝对坐标。getRawY()获取点击事件距离整个屏幕顶边的距离即绝对坐标。