zoukankan      html  css  js  c++  java
  • 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)方法
    XXX_Activity:

    @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);//获取在整个屏幕内的绝对坐标
            //do something
        }

    更多资料:

    Android View各种尺寸位置相关的方法探究

    PS:本文为转载,首发地址不可考,网上搜到的全是转载的,故不能贴出原地址,如果你是作者可以留言原地址或者要求删除。

  • 相关阅读:
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分
    1025 反转链表 (25 分
    1024 科学计数法 (20 分
    1023 组个最小数 (20 分)
    将命令的输出保存到文件
    使用与管理控制台历史
    度量命令执行时间
    检查最后运行命令的状态
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300467.html
Copyright © 2011-2022 走看看