我看到网上有代码这样写:在xml文件中写:android:configChanges="orientation|keyboardHidden"在Activity中写://横竖屏切换自主调用
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//横屏不需要处理
}else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
//加入竖屏要处理的代码
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
} 上面的代码中,红色部分是我添加的。目的是横屏时不做处理,竖屏时设置为横屏。但是这样写,还是会执行两次oncreate函数。高手帮忙。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//横屏不需要处理
}else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
//加入竖屏要处理的代码
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
} 上面的代码中,红色部分是我添加的。目的是横屏时不做处理,竖屏时设置为横屏。但是这样写,还是会执行两次oncreate函数。高手帮忙。
<activity android:name=".XXXActivity" android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape" />
我在友盟的sns分享开发指南上看到过这样一段话:
如果您调用我们提供的SDK 的Activity 支持横竖屏的切换,并且您使用的是我们SDK 中提供的默认
分享页面,我们强烈建议您将该Activity 设置为在横竖屏切换时Activity 不销毁, 您只需在该
Activity 中添加: android:configChanges="orientation|keyboardHidden"
谁能解释下这句话具体做了什么工作吗