安卓-控件坐标的描述

我们偶尔需要在应用中拖动界面上的控件,使得控件会跟随手指的移动直到手指离开屏幕

一、在进行drag之前先了解各个坐标的情况

1、安卓是以屏幕的左上角为原点往右和下分别为X和Y轴的正向

如上图所示,整个屏幕的原点在左上角;如果Layout要获取相对屏幕的位置则需要通过接口:

layout左上角相对屏幕的原点的位置可以如下获取:

int[] size = new int[2];
getLocationOnScreen(size); // size[0] = x, size[1] = y

当要知道当前触屏点击的layout的位置相对屏幕原点的位置则可以在onTouchEvent 的MotionEvent event 进行获取:

event.getRawX(); // 当前触控点相对屏幕X原点的位置
event.getRawY(); // 当前触控点相对屏幕Y远点的位置

 

2、视坐标,触摸位置子控件相对父控件的左上角位置

如上图所示,button控件的视坐标即以父控件的左上角为原点;当要知道当前在button控件中的触摸点击位置相对坐标原点的位置,则可以在onTouchEvent 的MotionEvent event 进行获取:

        int x = (int) event.getX();
        int y = (int) event.getY();

 

二、具体的各个方法如下所示(安卓群英传的截图)

 

posted @   LCAC  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示