Я использовал следующий фрагмент кода для своей деятельности, чтобы справиться с изменением ориентации.
[Activity (Label = "Activity",ConfigurationChanges = ConfigChanges.Orientation
| ConfigChanges.KeyboardHidden)]
и
public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig)
{
base.OnConfigurationChanged (newConfig);
if (newConfig.Orientation == Android.Content.Res.Orientation.Landscape)
{
Console.WriteLine("landscape");
}
else if (newConfig.Orientation == Android.Content.Res.Orientation.Portrait)
{
Console.WriteLine("portrait");
}
}
Я начинаю с режима Portrait
, затем переключаюсь на Landscape mode
и снова переключаюсь в режим Portrait
.Таким образом, ожидаемый вывод должен быть:
landscape
portrait
, но Консольный вывод показывает
landscape
landscape
portrait
т.е. при переключении из режима Landscape mode
в Portrait
, если и иначе оба выполняются.
Я понятия не имею, почему это происходит.
Я абсолютный новичок в Mono дляAndroid , поэтому любая помощь приветствуется.