| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android:获取View视图在屏幕绝对位置和坐标方法总结 -> 正文阅读 |
|
[移动开发]Android:获取View视图在屏幕绝对位置和坐标方法总结 |
本文转自两篇文章的结合:地址附在文后: 正文内容: 1.View在屏幕上的占用区域、显示区域、绘制区域
2. View填充区域padding和margin区域值的获取 padding和margin的值可以在xml文件中设置,所以只要xml文件被加载,不论View是否被绘制,都可以获取这些值。 例如: 3. View的getLeft()、getTop()、getRight()、getBottom()方法 ?这四个方法用于获取View相对于父View的坐标,继而获取View的宽和高。 View的宽度=getRight()-getLeft(); View的高度=getBottom()-getTop(); 这四个方法必须在View被绘制后才能被调用。在View被绘制之前调用等到的值都是0. 例如:可以在View的post(Runnable)中调用,或者在View的onClick点击事件中调用,或者在Activity(或Fragment)的onPause()方法中调用。在Activity(或Fragment)的onResume()中调用不行,因为View是在onResume()方法执行时进行绘制的,此时调用View可能还没有绘制完,所以返回的是0.
4. MotionEvent的getX(),getY(),getX(int),getY(int),getRawX(),getRawY(),getRawX(int),getRawY(int)方法: ?获取点击事件处相当于点击控件或者屏幕的坐标。
5. getLocationInWindow()获取控件相对于窗口Window的位置。 ?可以在Activity的onWindowFocusChanged(boolean hasFocus)中调用:
Window的高度=状态栏高度+ActionBar高度(可能没有)+布局的高度。获取Window的宽和高的方法如下: 1. 应用场景 获取控件相对窗口Window 的位置 2. 具体使用
7.getLocationOnScreen() ?1. 应用场景 获得 View 相对屏幕的绝对坐标 2. 具体使用
8.getGlobalVisibleRect():全局可见区域 1. 应用场景 View可见部分相对于屏幕的坐标。 2. 具体使用
3. 示意图 ?9.getLocalVisibleRect():局部可见区域 1. 应用场景 View可见部分相对于自身View位置左上角的坐标。 2. 具体使用 Rect localRect = new Rect(); view.getLocalVisibleRect(localRect); localRect.getLeft(); localRect.getRight(); localRect.getTop(); localRect.getBottom(); 3. 示意图 总结本文对Android获取View坐标位置的方式进行了全面讲解,总结如下: 文章转载自知乎:Android中View的坐标及各种位置 - 知乎 腾讯云Carson_Ho的开发笔记:Android:你知道该如何正确获取View坐标位置的方法吗? - 云+社区 - 腾讯云 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:16:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |