1

我想在不丢失活动当前状态的情况下改变方向。

我在 manifest.xml 中使用android:configChanges="orientation|keyboardHidden|screenSize",然后它不会加载横向的 xml 文件,而是更改 hte Portrait main.xml 的方向。

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

4

3 回答 3

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
   }
}
于 2013-01-28T10:29:36.900 回答
0

当您必须实施的方向发生变化时,该活动将重新启动,onSaveInstanceState()并且onRestoreInstanceState()

于 2013-01-28T11:50:56.020 回答
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();
    }
}

获取更多帮助或详细信息 使用处理运行时更改

于 2013-01-28T10:09:27.260 回答