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

  • 相关阅读:
    遭遇争强好胜
    Redis学习笔记一:数据结构与对象
    Lua模块测试
    SQL JOIN
    Error:(1, 1) java: 非法字符: ‘ufeff’
    Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
    HTTPS为什么又快又安全?
    QA
    linux日志分割、去重、统计
    Maven:dependency scope
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300467.html
Copyright © 2011-2022 走看看