共用方式為


Android 上的頁面生命週期事件

對於使用AppCompat的應用程式,此Android平臺專屬功能可用來分別停用 Disappearing 應用程式暫停和繼續的和 Appearing 頁面事件。 此外,它也包含控制是否在繼續時顯示軟式鍵盤的能力,如果在暫停時顯示軟式鍵盤,前提是軟式鍵盤的作業模式設定為 WindowSoftInputModeAdjust.Resize

注意

請注意,預設會啟用這些事件,以保留依賴事件之應用程式的現有行為。 停用這些事件會使 AppCompat 事件週期符合 AppCompat 事件週期。

藉由將、 Application.SendAppearingEventOnResumeApplication.ShouldPreserveKeyboardOnResume 附加屬性設定Application.SendDisappearingEventOnPauseboolean值,即可在 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上執行。 當應用程式進入背景時,命名空間 Application.SendDisappearingEventOnPause 中的 Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat 方法可用來啟用或停用 Disappearing 引發頁面事件。 當 Application.SendAppearingEventOnResume 應用程式從背景繼續時,會使用 方法來啟用或停用 Appearing 引發頁面事件。 Application.ShouldPreserveKeyboardOnResume如果軟式鍵盤在暫停時顯示,則會使用 方法控制是否要在繼續時顯示軟式鍵盤,前提是軟式鍵盤的作業模式設定為 WindowSoftInputModeAdjust.Resize

結果是 Disappearing 不會分別在應用程式暫停和繼續時引發 和 Appearing 頁面事件,如果應用程式暫停時顯示軟式鍵盤,應用程式繼續時也會顯示:

生命週期事件平台專屬