向きの変更に対処するために、アクティビティに次のコード スニペットを使用しました。
[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
モードに切り替えると、ifとelseの両方が実行されます。
なぜこれが起こっているのか分かりません。
私はMono for Androidの初心者なので、助けていただければ幸いです。