在我的应用程序中,我只是覆盖了方法onConfigurationChanged方法,如下所示
@Override
public void onConfigurationChanged(Configuration newConfig) {
System.out.println("Configuration Changed");
Configuration c = getResources().getConfiguration();
if (c.orientation == Configuration.ORIENTATION_PORTRAIT) {
// portrait
} else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// landscape
}
}但是当屏幕方向被调用时,它不会被调用。
在清单中,我的活动如下所示
<activity
android:name=".MainActivity"
android:configChanges="orientation"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>发布于 2013-01-22 17:38:20
它没有被称为super.onConfigurationChanged(newConfig);,所以这个方法变成了
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
System.out.println("Configuration Changed");
Configuration c = getResources().getConfiguration();
if (c.orientation == Configuration.ORIENTATION_PORTRAIT) {
// portrait
} else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// landscape
}
}并在manifest中添加了android:configChanges="orientation|screenSize"。
感谢SSS :-)
https://stackoverflow.com/questions/14454792
复制相似问题