다음을 통해 공유


Android의 페이지 수명 주기 이벤트

이 Android 플랫폼별은 AppCompat을 사용하는 애플리케이션에 대해 애플리케이션 일시 중지 및 다시 시작에서 각각 및 페이지 이벤트를 사용하지 않도록 설정하는 Disappearing Appearing 데 사용됩니다. 또한 소프트 키보드의 작동 모드가 설정된 경우 일시 중지 시 소프트 키보드가 다시 시작 시 표시되는지 여부를 제어하는 WindowSoftInputModeAdjust.Resize기능이 포함되어 있습니다.

참고 항목

이러한 이벤트는 기본적으로 이벤트를 사용하는 애플리케이션에 대한 기존 동작을 유지하도록 설정됩니다. 이러한 이벤트를 사용하지 않도록 설정하면 AppCompat 이벤트 주기가 AppCompat 이전 이벤트 주기와 일치합니다.

이 플랫폼별 속성은 XAML에서 < a0/> Application.SendDisappearingEventOnPauseApplication.SendAppearingEventOnResumeApplication.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 페이지 이벤트가 각각 발생하지 않으며, 애플리케이션이 일시 중지되었을 때 소프트 키보드가 표시되면 애플리케이션이 다시 시작될 때도 표시됩니다.

수명 주기 이벤트 플랫폼별