zoukankan      html  css  js  c++  java
  • getLocationInWindow和getLocationOnScreen的区别

    // location [0]--->x坐标,location [1]--->y坐标
    int[] location = new  int[2] ;
    // 获取在当前窗口内的绝对坐标,getLeft , getTop, getBottom, getRight,  这一组是获取相对在它父窗口里的坐标。
    view.getLocationInWindow(location); 
    // 获取在整个屏幕内的绝对坐标,注意这个值是要从屏幕顶端算起,也就是包括了通知栏的高度。
    view.getLocationOnScreen(location);

    如果在Activity的OnCreate()事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。
    在onWindowFocusChanged(boolean hasFocus)中获取为好。

    View.getLocationInWindow()和 View.getLocationOnScreen()在window占据全部screen时,返回值相同,不同的典型情况是在Dialog中时。当Dialog出现在屏幕中间时,View.getLocationOnScreen()取得的值要比View.getLocationInWindow()取得的值要大。

    另:Android 获取屏幕高度、标题高度、状态栏高度详解

    // 获取屏幕的宽、高
    DisplayMetrics mDisplayMetrics;
    getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
    int w = mDisplayMetrics.widthPixels;
    DisplayMetrics dm = getResources().getDisplayMetrics();
    mScreenW = dm.widthPixels; // 获取分辨率宽度

    原文:http://www.xuebuyuan.com/1585492.html

  • 相关阅读:
    C# 小算法1
    函数 y=x^x的分析
    随机数
    对拍
    Cube Stack
    Permutation
    一笔画问题
    康托展开&&康托逆展开
    待完成
    小错误 17/8/10
  • 原文地址:https://www.cnblogs.com/veins/p/3959583.html
Copyright © 2011-2022 走看看