Мне нужно применить разные макеты для портретной и альбомной ориентации моей деятельности. Кроме того, мне нужно показать предупреждение, если ориентация - портретная.
Я указал андроид: configChanges = "direction | keyboardHidden"
в AndroidManifest. Я также переопределяю метод onConfigurationChanged следующим образом:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
Log.d("tag", "config changed");
super.onConfigurationChanged(newConfig);
int orientation = newConfig.orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT)
Log.d("tag", "Portrait");
else if (orientation == Configuration.ORIENTATION_LANDSCAPE)
Log.d("tag", "Landscape");
else
Log.w("tag", "other: " + orientation);
....
}
При повороте журнала с альбомной на портретную выглядит так:
config changed
Portrait
Но при переходе с портретной на альбомную ориентацию это выглядит как
config changed
Portrait
config changed
Landscape
Почему onConfigurationChanged вызывается дважды? Как я могу этого избежать?