Android의 페이지 수명 주기 이벤트
이 Android 플랫폼별은 AppCompat을 사용하는 애플리케이션에 대해 애플리케이션 일시 중지 및 다시 시작에서 각각 및 페이지 이벤트를 사용하지 않도록 설정하는 Disappearing
Appearing
데 사용됩니다. 또한 소프트 키보드의 작동 모드가 설정된 경우 일시 중지 시 소프트 키보드가 다시 시작 시 표시되는지 여부를 제어하는 WindowSoftInputModeAdjust.Resize
기능이 포함되어 있습니다.
참고 항목
이러한 이벤트는 기본적으로 이벤트를 사용하는 애플리케이션에 대한 기존 동작을 유지하도록 설정됩니다. 이러한 이벤트를 사용하지 않도록 설정하면 AppCompat 이벤트 주기가 AppCompat 이전 이벤트 주기와 일치합니다.
이 플랫폼별 속성은 XAML에서 < a0/> Application.SendDisappearingEventOnPause
Application.SendAppearingEventOnResume
및 Application.ShouldPreserveKeyboardOnResume
연결된 속성을 값으로 boolean
설정하여 사용할 수 있습니다.
<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>
또는 흐름 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에서만 실행되도록 지정합니다. Application.SendDisappearingEventOnPause
네임스페이 Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
스의 메서드는 애플리케이션이 백그라운드로 들어갈 때 페이지 이벤트 실행을 Disappearing
사용하거나 사용하지 않도록 설정하는 데 사용됩니다. 이 Application.SendAppearingEventOnResume
메서드는 애플리케이션이 백그라운드에서 다시 시작될 때 페이지 이벤트 실행을 Appearing
사용하거나 사용하지 않도록 설정하는 데 사용됩니다. 이 Application.ShouldPreserveKeyboardOnResume
메서드는 소프트 키보드의 작동 모드가 로 설정된 경우 일시 중지 시 소프트 키보드가 다시 시작 시 표시되는지 여부를 제어하는 데 WindowSoftInputModeAdjust.Resize
사용됩니다.
그 결과 Disappearing
애플리케이션 일시 중지 및 다시 시작 시 및 Appearing
페이지 이벤트가 각각 발생하지 않으며, 애플리케이션이 일시 중지되었을 때 소프트 키보드가 표시되면 애플리케이션이 다시 시작될 때도 표시됩니다.