关于View的获取位置的api
来源:互联网 发布:linux ssh 目录结构图 编辑:程序博客网 时间:2024/05/15 23:48
之前项目遇到过需要判断点击区域在不在某个View 的范围的判断,渣场api发现4个相关的的方法可用,记录以便以后使用.
View.getLocationInWindow(int[]location);
View.getLocationOnScreen(int[] location);
View.getLocalVisibleRect(Rect r);
View.getGlobalVisibleRect(Rect r);
int [] location = new int [2] ;
从getLocationInWindow(int[]location)
开始说明;
getLocationInWindow(),获取当前控件相对父布局的位置,传递一个int数组,将数值存储在数组之中.location[0]为view的原点的x值,location[1]为view的原点的Y值
getLocationOnScreen(),获取当前控件相对屏幕(包括状态栏)的位置,传递一个int数组,将数值存储在数组之中.location[0]为view的原点的x值,location[1]为view的原点的Y值
在一般情况下这两个方法所取到的值是一样的,当View为dialog时,getLocationOnScreen(),所获取到的值比getLocationInWindow()大;
Rect r = new Rect();
getLocalVisibleRect(r);
getGlobalVisibleRect(r);
Rect 类中有(left,top, right bottom)这么四个主要的属性
分别记录 view的左上点的坐标,和右下角的坐标
由于Rect类默认就是一个长方形,所以android的工程师使用这两个点来确定一个矩形区域
getLocalVisibleRect(r);传一个Rect 对象,返回一个将值存储于Rect中,获取视图本身可见的坐标区域,坐标以自己的左上角为原点(0,0)
如果没有超出屏幕范围显示范围一般为(0,0-右下角x,右下角y)
getGlobalVisibleRect()方法的作用是获取视图在屏幕坐标中的可视区域,即所见View的具体坐标
Rect中有contains(x,y)方法,判断某个坐标是不是为View之中
此外 getGlobalVisibleRect(Rect r, PointgobalOffset)还有这个方法,返回 globalOffset的值就是View原点偏离屏幕坐标原点的距离。
(r);getGlobalVisibleRect(r);
Rect 类中有(left,top, right bottom)这么四个主要的属性
分别记录 view的左上点的坐标,和右下角的坐标
由于Rect类默认就是一个长方形,所以android的工程师使用这两个点来确定一个矩形区域
getLocalVisibleRect(r);传一个Rect 对象,返回一个将值存储于Rect中,获取视图本身可见的坐标区域,坐标以自己的左上角为原点(0,0)
如果没有超出屏幕范围显示范围一般为(0,0-右下角x,右下角y)
getGlobalVisibleRect()方法的作用是获取视图在屏幕坐标中的可视区域,即所见View的具体坐标
Rect中有contains(x,y)方法,判断某个坐标是不是为View之中
此外 getGlobalVisibleRect(Rect r, PointgobalOffset)还有这个方法,返回 globalOffset的值就是View原点偏离屏幕坐标原点的距离。
- 关于View的获取位置的api
- Android 获取view的位置和设置view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- Android 获取View的位置属性
- android应用程序中获取view的位置
- Android应用程序中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- 获取View类界面控件的位置
- android中获取view的位置
- android应用程序中获取view的位置
- android应用程序中获取view的位置
- android 获取view的位置坐标
- 最全动画教程实例-实现简单的树形动画效果
- iOS开发中Settings.bundle的使用
- 桌面快速启动软件AltRun----赶快使得你的桌面变整洁吧
- linux下开发的头文件
- Python学习小记2
- 关于View的获取位置的api
- 查找指定端口被哪个进程占用&&恢复删除的文件
- Lombok使用说明
- Unity学习笔记15——Unity5之后的AssetBundle使用方法
- 项目经理是失败的根源?
- VS2010使用c++、gSOAP创建WebService 图文教程
- android 数据库开启事务 标准写法
- Centos7 关闭防火墙
- iOS开发打包时有you have a valid ......的解决