继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

眼眸繁星
关注TA
已关注
手记 109
粉丝 7
获赞 59

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP