Android でのページ ライフサイクル イベント
この Android プラットフォーム固有の機能は、AppCompat を使用するアプリケーションに対して、アプリケーションの一時停止時と再開時に Disappearing
および Appearing
ページ イベントを無効にするために使用されます。 さらに、ソフト キーボードの動作モードが WindowSoftInputModeAdjust.Resize
に設定されている場合に、一時停止時にソフト キーボードが表示された場合に再開時に表示するかどうかを制御する機能も含まれています。
Note
これらのイベントは、イベントに依存するアプリケーションの既存の動作を保持するために、既定で有効になっていることに注意してください。 これらのイベントを無効にすると、AppCompat イベント サイクルが AppCompat より前のイベント サイクルと一致します。
このプラットフォーム固有のプロパティは、Application.SendDisappearingEventOnPause
、Application.SendAppearingEventOnResume
、Application.ShouldPreserveKeyboardOnResume
添付プロパティを boolean
値に設定することで、XAML で使用できます。
<Application ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" xmlns:androidAppCompat="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat;assembly=Xamarin.Forms.Core"
android:Application.WindowSoftInputModeAdjust="Resize"
androidAppCompat:Application.SendDisappearingEventOnPause="false"
androidAppCompat:Application.SendAppearingEventOnResume="false"
androidAppCompat:Application.ShouldPreserveKeyboardOnResume="true">
...
</Application>
または、Fluent API を使用して C# から使用することもできます。
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat;
...
Xamarin.Forms.Application.Current.On<Android>()
.UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize)
.SendDisappearingEventOnPause(false)
.SendAppearingEventOnResume(false)
.ShouldPreserveKeyboardOnResume(true);
Application.Current.On<Android>
メソッドは、このプラットフォーム固有設定が Android 上でのみ実行されるように指定します。 Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
名前空間の Application.SendDisappearingEventOnPause
メソッドは、アプリケーションがバックグラウンドに入ったときに、Disappearing
ページ イベントの発生を有効または無効にするために使用されます。 Application.SendAppearingEventOnResume
メソッドは、アプリケーションがバックグラウンドから再開されたときに、Appearing
ページ イベントの発生を有効または無効にするために使用されます。 Application.ShouldPreserveKeyboardOnResume
メソッドは、ソフト キーボードの動作モードが WindowSoftInputModeAdjust.Resize
に設定されている場合に、一時停止時にソフト キーボードが表示された場合に、ソフト キーボードを再開時に表示するかどうかを制御するために使用されます。
その結果、アプリケーションの一時停止時と再開時に Disappearing
および Appearing
ページ イベントが発生せず、アプリケーションの一時停止時にソフト キーボードが表示された場合は、アプリケーションの再開時にも表示されます。