1.在AndroidManifest文件里配置 android:configChanges="keyboardHidden|screenSize|orientation">
使其横竖屏切换时不会重启整个activtiy:
<activity android:name=".MainActivity">
android:configChanges="keyboardHidden|screenSize|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2.然后创建两个xml文件 分别对应横屏和竖屏状态

3.在MainActivity中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//如果是横屏
setContentView(R.layout.activity_main_horizontal);
}else{
setContentView(R.layout.activity_main_vertical);
}
}
创建横屏布局

本文介绍了如何通过在AndroidManifest.xml中配置android:configChanges,以及在MainActivity中根据屏幕方向加载不同布局,来实现在横竖屏切换时避免重启Activity的方法。这种方法可以优化用户体验,减少资源消耗。
2951

被折叠的 条评论
为什么被折叠?



