安卓-控件坐标的描述
我们偶尔需要在应用中拖动界面上的控件,使得控件会跟随手指的移动直到手指离开屏幕
一、在进行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();
二、具体的各个方法如下所示(安卓群英传的截图)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?