我希望在不失去当前活动状态的情况下更改方向。
我在manifest.xml中使用 android:configChanges =“orientation | keyboardHidden | screenSize”,然后它不加载横向的xml文件,而是选择hte portrait main.xml的方向。
当方向更改为landsacpe和反之时,我想要layout-land / main.xml而不重新启动活动。
答案 0 :(得分:0)
这可以帮到你
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
获取进一步的帮助或详细信息 使用句柄Runtime Change
答案 1 :(得分:0)
这将在某种程度上帮助你
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//Do your action
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
//Do your action
}
}
答案 2 :(得分:0)
当方向发生变化时,活动将重新开始,您必须实施onSaveInstanceState()
和onRestoreInstanceState()