开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android View坐标getLeft, getRight, getTop, getBottom

简介:
+关注继续查看

1  引起疑惑

    分析视图invalidate流程的过程中发现view的left, right, top, bottom跟自己理解的不一样,现在想分析一下这几个值具体的含义。

   

2  理解坐标,位置概念

      这里涉及坐标系的概念:

坐标系在二维视图中通过X轴和Y轴两个数字为组合表示某个点的绝对坐标。 例如(30, 100) 通常表示X轴30, Y轴100交叉的一个点

    在Android中可以把left相当于X轴值, top相当于Y轴值, 通过这两个值Android系统可以知道视图的绘制起点,在通过Wdith 和 Height 可以得到视图上下左右具体值,就可以在屏幕上绝对位置绘制视图。right 与 bottom计算如下:

    right = left + width;

    bottom = top + height;

 

3 相应API

视图左侧位置  view.getLeft()

视图右侧位置 view.getRight()

视图顶部位置 view.getTop();

视图底部位置 view.getBottom();

视图宽度 view.getWidth();

视图高度 view.getHeight()

 

4  实例分析

 

按照我的理解:

蓝色区域位置 left = 0,   top = 0         坐标(0, 0 )

黄色区域位置 left = 60, top = 115    坐标(60, 115) 

绿色区域位置 left = 115, top = 170  坐标(115, 170)   

委屈 绿色区域,这里理解错误,我认为绿色区域的位置是针对于蓝色区域的(0, 0)坐标的值,从上图的右下角打印出的坐标值就可以看出与下方我列出的值不一致,看看下面的图就明白了

 

 

 

 

总结: 视图的left , top , right , bottom 的值是针对其父视图的相对位置, 绿色区域是针对其父视图(即黄色区域为(0, 0)点)的坐标,不应该是(115, 170 ) 而是 (55, 55)




    本文转自 一点点征服   博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/5227364.html,如需转载请自行联系原作者





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
“千变万化”——神奇的Android图片规格调整器(坐标Matrix篇)
我们前面介绍了一些图片的信息获取方式,现在我们看看对图片是如何进行变化处理的,这其中有很多方法,我们先说明一下Matrix类的处理方式,也就是对图片坐标的变化以达到最终期望效果。
0 0
【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )
【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )
0 0
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
0 0
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
0 0
Android 高德地图获取屏幕中心的经纬度坐标
Android 高德地图获取屏幕中心的经纬度坐标
0 0
Android 坐标总结
写这篇文章的原因是因为坐标遇到的坑太多了,所以要记录一下。 一.基本的坐标与获取 先来看看基本的一些内容。 假如一个屏幕的区域是这样,蓝色的那条叫状态栏(statusBar),下面橙色的那条叫导航(NavigationBar),中间绿色的是应用区域。
1166 0
Android应用坐标系统全面详解
1 背景 去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有较为系统性授之于渔的文章,同时由于自己也迟迟没有时间规划这一系列文章,最近想将这一系列文章重新提起来,所以就来先总结一下自定义控件的一个核心知识点——坐标系。
789 0
Android AbsListView坐标体系解析
 Android AbsListView坐标体系解析 Android的AbsListView与Android ListView不同,AbsListView代表了一个抽象的列表View。
893 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载