在onWindowFocusChanged方法中获取手机屏幕的高宽
来源:互联网 发布:网络规划设计师培训 编辑:程序博客网 时间:2024/06/08 15:18
开发时,我们时常要获取手机屏幕的高宽数据。通常我们会写个获取方法如getScreen();然后在Oncreate()中调用getScreen()方法。我们可能获取到的结果是宽高为0。这是为什么呢?原因在于:
在Activity生命周期中,onCreate,onStart, onResume都不是真正屏幕可见(VISIBLE)时间点,真正的VISIBLE时间点是在当onWindowFocusChanged()函数被执行时,此时用户才真正地可以与应用进行交互,而这函数被调用之前,用户的操作都有一点限制。所以我们要正确获取到手机屏幕的宽高,是要在onWindowFocusChanged()方法中来执行。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
int width=getResources().getDisplayMetrics().widthPixels;//屏幕宽度
int hight=getResources().getDisplayMetrics().heightPixels;//屏幕高度
super.onWindowFocusChanged(hasFocus);
}
1 1
- 在onWindowFocusChanged方法中获取手机屏幕的高宽
- 在onWindowFocusChanged方法中获取手机屏幕的高宽
- Android在Activity中获取手机屏幕的宽高
- 获取手机屏幕的宽高
- 获取手机屏幕的宽高
- 获取手机屏幕的宽高
- [Android] 直接获取组件的宽高:Activity.onWindowFocusChanged()
- [Android] 直接获取组件的宽高:Activity.onWindowFocusChanged()
- 获取手机屏幕宽高
- 获取手机屏幕宽高
- Android 获取手机屏幕的宽高
- android获取手机屏幕宽高的总结
- Android获取手机屏幕的宽高
- Android获取手机屏幕的宽高
- Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
- Android:获取手机屏幕宽高
- Android获取手机屏幕大小 — DisplayMetrics取得画面宽高的方法
- Android在onCreate方法中获取view的宽高
- cocos2d-x中使用sqlite
- cocos2d-x之jni使用(对接Android各种sdk)
- cocos2d-x, protobuf, no config.h, #error "No suitable threading library available."
- 浅谈多进程多线程的选择
- cocos2d-x使用ant打包
- 在onWindowFocusChanged方法中获取手机屏幕的高宽
- cocos2d-x使用ant批量打包
- cocos2d-x3.x使用rapidjson
- cocos2d-x混合BlendFunc的使用
- kafka系列文章索引
- Yosemite OS X 10.10 开三方 SSD Trim 崩溃的修复方法 ...
- json_encode和json_decode
- -自定义广播的发送和接收-
- packstack allinone + vxlan 用vbox的虚拟机搭建openstack(单节点双网卡)