android getLocationOnScreen笔记

getLocationOnScreen方法获取到的是View左上顶点在屏幕中的绝对位置.(屏幕范围包括状态栏).

 final View decorView=getWindow().getDecorView();
    final int[] decorViewLocationInScreen=new int[2];
    decorView.post(new Runnable() {
        @Override
        public void run() {
            LogUtil.d("---status bar height is "+getStatusBarHeight(FanzhuanActivity.this));
            decorView.getLocationOnScreen(decorViewLocationInScreen);
            LogUtil.d("---decorView locationInScreen x is "+decorViewLocationInScreen[0]+"                              location In Screen Y is "+decorViewLocationInScreen[1]);
        }
    });

获取到的x,y值分别为0,0

我们写的activity或者fragment的布局文件里面最外层的view,去获取他的getLocationInScreen,x为0,y即为状态栏的高度. 这也可以是另一种获取状态栏高度的方法.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容