为了账号安全,请及时绑定邮箱和手机立即绑定

Android获得控件在屏幕中的绝对坐标

标签:
Android

int[] location = new int[2] ; view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标location [0]     //x坐标

location [1]    //y坐标

getLocationOnScreen

计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标

getLocationInWindow

计算该视图在它所在的widnow的坐标x,y值,获取在整个窗口内的绝对坐标

getLeft , getTop, getBottom,getRight 这一组是获取相对在它父亲里的坐标 
如果在Activity的OnCreate()事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。 
onWindowFocusChanged(boolean hasFocus)中获取为好

即覆写Activity的onWindowFocusChanged(boolean hasFocus)方法 

@Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        int[] location1 = new int[2] ;        view.getLocationInWindow(location1); //获取在当前窗口内的绝对坐标        int[] location2 = new int[2] ;        view.getLocationOnScreen(location2);//获取在整个屏幕内的绝对坐标    }


 原文链接:http://www.apkbus.com/blog-843025-68091.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消