自动切换
- Android Manifest在需要切换的Activity中添加
1 2
| android:configChanges="orientation|keyboardHidden|layoutDirection|screenSize|screenLayout" android:screenOrientation="sensor"
|
1 2 3 4 5 6 7 8 9 10 11
| @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){ setContentView(R.layout.activity_main); }else{ setContentView(R.layout.activity_main); } }
|
手动切换
1 2 3 4 5 6 7 8 9 10 11 12 13
| findViewById(R.id.btn_click).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); }else{ MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } });
|
注意
配置android:configChanges="orientation|keyboardHidden|screenSize"
,才不会销毁 activity,且只调用onConfigurationChanged
方法。