View系列(一)-View坐标参数
来源:互联网 发布:关羽看不起黄忠 知乎 编辑:程序博客网 时间:2024/06/06 01:18
View基础
View位置参数
位置是相对父容器而言。
left:View左上角相对父容器的X坐标
top:View左上角相对父容器的Y坐标
bottom:View右下角相对父容器的X坐标
获取四个左边:对应于View的mLeft等四个成员参数,通过getLeft()得到
android 3.0新增了四个参数:(View的左上角的X、Y坐标)X、Y、(View相对于父容器的平移)transictionX/Y,这四个参数也是相对父容器的
X:表示View左上角的X坐标
Y:表示View左上角的Y坐标
translationX:表示view相对于父容器X方向平移了多少,默认情况不指定translationX,偏移量为0,此时X=mLeft=getLeft()
translationY:和X相同
注意:如果指定View的translationX/Y参数,才是mLeft、mTop参数任然表示最初的左上角的坐标(不变),变的只是X/Y、translationX/Y值。此时X=translationX+mleft;
MotionEvent相关坐标
参考点:为屏幕左上角
getRowX():表示的事件(按下)的X坐标(该点相对于屏幕),此时是以屏幕左上角为原点
getRowY():表示的事件(按下)的Y坐标(该点相对于屏幕),此时是以屏幕左上角为原点
参考点:为View本身
getX():获取点击事件相对控件左边的x轴坐标,即点击事件距离控件左边的距离
getY():获取点击事件相对控件顶边的y轴坐标,即点击事件距离控件顶边的距离
动态获取View的坐标
获取整个View在屏幕中的坐标
- view.getLocationInWindow()
获取的封装View左上角(X、Y轴)的坐标,相对于当前Activity
(1)若是普通activity,则y坐标为可见的状态栏高度+可见的标题栏高度+view左上角到标题栏底部的距离.
(2)若是对话框式的activity,则y坐标为可见的标题栏高度+view到标题栏底部的距离.
2.view.getLocationOnScreen()
int[] position = new int[2]; textview.getLocationOnScreen(position);
和上面的差不多,也是获取View的左上角坐标封装在一数组中,只是该坐标是相对于屏幕
3.view.getGlobalVisibleRect()
这个方法是构建一个Rect用来”套”这个view.此Rect的坐标是相对当前activity而言.
Rect viewRect = new Rect(); textview.getGlobalVisibleRect(viewRect);
(1)若是普通activity,则Rect的top为可见的状态栏高度+可见的标题栏高度+Rect左上角到标题栏底部的距离.(2)若是对话框式的activity,则y坐标为Rect的top为可见的标题栏高度+Rect左上角到标题栏底部的距离.
4.view.getLocalVisibleRect()
Rect globeRect = new Rect();
button.getLocalVisibleRect(globeRect);
这个方法获得的Rect的top和left都是0,也就是说,仅仅能通过这个Rect得到View的宽度和高度.
以上方法在onCreat()调用,都会返回0,因为View还未加载完毕
- View系列(一)-View坐标参数
- view 坐标
- Android View系列一: View基础知识
- Android View(一)-View坐标以及方法说明
- Android View(一)-View坐标以及方法说明
- Android View(一)-View坐标以及方法说明
- Android View(一)-View坐标以及方法说明
- Android View(一)-View坐标以及方法说明
- View学习笔记----View坐标
- 深入理解View(一):View的位置参数信息
- Graphics View 坐标系统
- Android中View坐标
- View的坐标
- View坐标分析汇总
- android view坐标系统
- 获取View坐标
- Android View坐标
- 获取view的坐标
- POJ 2503 Babelfish <串的哈希>
- writeToFile 写入失败问题 --->字典去空值
- Leetcode学习(38)—— First Unique Character in a String
- Back Propagation后向传播算法 Python实现
- SWIFT逻辑控制之where与guard
- View系列(一)-View坐标参数
- Logstash VS Flume
- 其实,数据分析就一个套路!
- 关于react-redux的一些看法
- 顺序表,单链表,单循环链表,双向循环链表
- Linux环境下用命令行实时监视显卡使用情况
- MySQL多字段模糊查询
- load data infile:ERROR 29 (HY000): File '' not found (Errcode: 13
- MySQL终端管理数据库操作指南