国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > [置顶] 在onWindowFocusChanged方法中获取手机屏幕的高宽

[置顶] 在onWindowFocusChanged方法中获取手机屏幕的高宽

来源:程序员人生   发布时间:2015-07-30 14:50:34 阅读次数:3712次

     开发时,我们经常要获得手机屏幕的高宽数据。通常我们会写个获得方法如getScreen();然后在Oncreate()中调用getScreen()方法。我们可能获得到的结果是宽高为0。这是为何呢?缘由在于:

     在Activity生命周期中,onCreate,onStart, onResume都不是真正屏幕可见(VISIBLE)时间点,真实的VISIBLE时间点是在当onWindowFocusChanged()函数被履行时,此时用户才真正地可以与利用进行交互,而这函数被调用之前,用户的操作都有1点限制。所以我们要正确获得得手机屏幕的宽高,是要在onWindowFocusChanged()方法中来履行。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
int width=getResources().getDisplayMetrics().widthPixels;//屏幕宽度
int hight=getResources().getDisplayMetrics().heightPixels;//屏幕高度
super.onWindowFocusChanged(hasFocus);
}

 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生