zoukankan      html  css  js  c++  java
  • LocationOnScreen-控件在手机屏幕中的位置坐标

    我们可以通过如下的方法获得某个控件在屏幕中的绝对坐标

    代码如下:

     private int[] mHistoryDisplayButtonLocation;
     private int mHistoryDisplayButtonLocationX;
     private int mHistoryDisplayButtonLocationY;
    
    
    mHistoryDisplayButtonLocation = new int[2];
    mHistoryDisplayButton.getLocationOnScreen(mHistoryDisplayButtonLocation);
    mHistoryDisplayButtonLocationX = mHistoryDisplayButtonLocation[0];
    mHistoryDisplayButtonLocationY = mHistoryDisplayButtonLocation[1];

    如果你把上面这段代码放到onCreate中执行,那么你会发现,打印的结果是0

    后来网上找答案,说是定位坐标需要时间。但是,在另一篇文章中看到了真正的解决方法

    原来,我们需要把上面得到坐标的操作放到

    onWindowFocusChanged    方法中去执行


     @Override
        public void onWindowFocusChanged(boolean hasFocus) {
            mHistoryDisplayButton.getLocationOnScreen(mHistoryDisplayButtonLocation);
            mHistoryDisplayButtonLocationX = mHistoryDisplayButtonLocation[0];
            mHistoryDisplayButtonLocationY = mHistoryDisplayButtonLocation[1];
    
            super.onWindowFocusChanged(hasFocus);
    }
  • 相关阅读:
    1065-两路合并
    1064-快速排序
    1063-冒泡排序
    1062-直接插入排序
    1061-简单选择排序
    1058-Tom and Jerry
    关于WinForm引用WPF窗体
    ref与out的区别
    看到他我一下子就悟了(续)---委托
    域名的a记录转过来他的公网ip
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_location_150320163.html
Copyright © 2011-2022 走看看