在Android中 - 如何在不丢失当前状态的情况下使用不同的main.xml?

时间:2013-01-28 10:03:26

标签: android android-layout

我希望在不失去当前活动状态的情况下更改方向。

我在manifest.xml中使用 android:configChanges =“orientation | keyboardHidden | screenSize”,然后它不加载横向的xml文件,而是选择hte portrait main.xml的方向。

当方向更改为landsacpe和反之时,我想要layout-land / main.xml而不重新启动活动。

3 个答案:

答案 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()