1

我在我的应用程序中有活动,我在我的清单文件中设置了android:configChanges="orientation",如下所示:

 <activity
      android:name=".MyActivity"
      android:label="@string/app_name"
      android:configChanges="orientation">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>

和处理方法:

@Override
  public void onConfigurationChanged(Configuration config) {
    super.onConfigurationChanged(config);
    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
      Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
  } else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){
      Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
  }
  }

在大多数谷歌搜索中,我看到它说它会阻止重新启动我的活动,但它是从改变方向开始的。我在onCreate()里面放了一个 System.out ....它正在打印每个方向改变,这意味着它开始了.任何帮助为什么它会发生或者我在某个地方错了?

4

1 回答 1

1

在清单文件中使用它。

android:configChanges="orientation|keyboardHidden"

在定向时,它不会重新启动活动

于 2012-04-09T10:05:52.497 回答