Android的自定义View的坐标系

本文深入讲解了Android中的坐标系概念,包括屏幕坐标系的特点及View的坐标系如何工作。此外,还介绍了触摸事件中get与getRaw的区别,帮助开发者更好地理解和使用坐标系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近正在学习自定义View,因为每次我们的开发时,毕竟我们所有的UI控件都不是拿来就用的,虽然很多开源的库,但是也不是都可以满足我们的需求,即使有本人认为不爱动手写的程序员不是合格的程序猿。近期查阅了很多度娘,整理了一些经验和内容,希望今天拿来View的坐标系与大家分享一哈。

1、Android屏幕坐标系

首先我们我们先说一下数学坐标系
通常情况下数学坐标系中向上是Y轴正方向,向右是X轴正方向

(注意:a角是数学坐标系的表现)

这里写图片描述

在Android屏幕的坐标系中,原点在屏幕的左上角,向下为Y轴正方向,向右是X轴正方向

(注意:a角是Andorid坐标系的表现)
这里写图片描述

屏幕上真正的坐标系如下图所示:

这里写图片描述

2、View的坐标系

首先在解释一下View的getTop、getBottom、getLeft、getRight;
都是距离父布局的顶部或者左侧的距离

getTop();       //获取子View左上角距父View顶部的距离
getLeft();      //获取子View左上角距父View左侧的距离
getBottom();    //获取子View右下角距父View顶部的距离
getRight();     //获取子View右下角距父View左侧的距离

这里写图片描述

3、触摸点MotionEvent中 get 和 getRaw 的区别

event.getX();       //触摸点相对于其所在组件坐标系的坐标,也就是View的坐标系
event.getY();

event.getRawX();    //触摸点相对于屏幕默认坐标系的坐标,(注:不是相对于父布局来说的)
event.getRawY();

这里写图片描述

参考http://www.gcssloop.com/customview/CoordinateSystem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值