在Activity里获取android屏幕方向并处理相关事件
16lz
2021-01-23
Configuration config = getResources().getConfiguration();
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){
//横屏,比如 480x320
}else if(config.orientation == Configuration.ORIENTATION_PORTRAIT){
//竖屏 ,标准模式 320x480
}else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){
//横屏,物理键盘滑出了
}else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_YES){
//竖屏,键盘隐藏了
}
在activity中重写这个方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
每一次横屏和竖屏都会调用这个方法
在android2.2.1系统的Launcher.java上测,每次屏幕方向改变时都会调用 Activity的onCreate()方法,并不会调用onConfigurationChanged()这是因为你对应的Activity
类没有设置 android:configChanges="orientation|keyboardHidden"。
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){
//横屏,比如 480x320
}else if(config.orientation == Configuration.ORIENTATION_PORTRAIT){
//竖屏 ,标准模式 320x480
}else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){
//横屏,物理键盘滑出了
}else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_YES){
//竖屏,键盘隐藏了
}
在activity中重写这个方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
每一次横屏和竖屏都会调用这个方法
在android2.2.1系统的Launcher.java上测,每次屏幕方向改变时都会调用 Activity的onCreate()方法,并不会调用onConfigurationChanged()这是因为你对应的Activity
类没有设置 android:configChanges="orientation|keyboardHidden"。
更多相关文章
- Android EditText过滤汉字的方法
- android 发送http请求方法和异常解决方法
- Android使用AsyncTask实现多线程下载的方法
- Android利用资源名称获取其id之getIdentifier()方法
- asynchttpclient的post方法发送json格式参数和表单格式参数
- Android关闭输入软键盘无效的问题
- Android中button的onClick事件几种方法
- Android 关闭多个Activity的实现方法