android 控件 获取 position
2015-11-30 14:40
316 查看
原来也一直有用的是vv.getLocationOnScreen(location),
但是具体剩下的 几个获取的没有详细了解过,今天查了下资料
api
用法
getLocationOnScreen
这个是我经常用的,获得到的 x,y 就是相对于屏幕而言的
getLocationInWindow
这个是相对于窗口而言, 也就是说
X 是一样的,
Y = 标题栏高度(如果有标题栏)+ 状态栏高度+ view相对状态栏的Y
上面其实是数据和 OnScreen差不多的
但是 如果是 windowActivity的话
就是相对于 windowActivity 的x y 了。
getLocalVisibleRect
这个一看就知道是 visibile(可见),取到的是本view的x y
getGlobalVisibleRect
Global 一看就是全局的,获取全局坐标系的一个视图区域, 返回一个填充的Rect对象;该Rect是基于总整个屏幕的
Y = 标题栏高度(如果有标题栏)+ 状态栏高度+ view相对状态栏的Y
但是 如果是 windowActivity的话
就是相对于 windowActivity 的x y 了。
但是具体剩下的 几个获取的没有详细了解过,今天查了下资料
api
Text View vv; vv.getLocationInWindow(location) vv.getLocationOnScreen(location) vv.getLocalVisibleRect(r) vv.getGlobalVisibleRect() vv.getLeft () vv.getTop() vv.getBottom() vv.getRight()
用法
getLocationOnScreen
这个是我经常用的,获得到的 x,y 就是相对于屏幕而言的
int[] position = new int[2]; vv.getLocationOnScreen(position);
getLocationInWindow
这个是相对于窗口而言, 也就是说
X 是一样的,
Y = 标题栏高度(如果有标题栏)+ 状态栏高度+ view相对状态栏的Y
上面其实是数据和 OnScreen差不多的
但是 如果是 windowActivity的话
就是相对于 windowActivity 的x y 了。
int[] position = new int[2]; vv.getLocationOnScreen(position);
getLocalVisibleRect
这个一看就知道是 visibile(可见),取到的是本view的x y
Rect rect= new Rect(); button.getLocalVisibleRect(rect);
getGlobalVisibleRect
Global 一看就是全局的,获取全局坐标系的一个视图区域, 返回一个填充的Rect对象;该Rect是基于总整个屏幕的
Y = 标题栏高度(如果有标题栏)+ 状态栏高度+ view相对状态栏的Y
但是 如果是 windowActivity的话
就是相对于 windowActivity 的x y 了。
Rect rect= new Rect(); vv.getGlobalVisibleRect(rect);
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories