Eventos do ciclo de vida da página no Android
Este específico da plataforma Android é usado para desativar os Disappearing
eventos e Appearing
página em pausa e retomada do aplicativo, respectivamente, para aplicativos que usam AppCompat. Além disso, ele inclui a capacidade de controlar se o teclado virtual é exibido na retomada, se foi exibido em pausa, desde que o modo de operação do teclado virtual esteja definido como WindowSoftInputModeAdjust.Resize
.
Observação
Observe que esses eventos são habilitados por padrão para preservar o comportamento existente para aplicativos que dependem dos eventos. Desabilitar esses eventos faz com que o ciclo de eventos AppCompat corresponda ao ciclo de eventos pré-AppCompat.
Esse específico da plataforma pode ser consumido em XAML definindo as Application.SendDisappearingEventOnPause
propriedades , Application.SendAppearingEventOnResume
e Application.ShouldPreserveKeyboardOnResume
anexadas aos boolean
valores:
<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>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
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);
O Application.Current.On<Android>
método especifica que essa plataforma específica só será executada no Android. O Application.SendDisappearingEventOnPause
método, no namespace, é usado para habilitar ou desabilitar o disparo do Disappearing
evento page, quando o aplicativo entra em Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
segundo plano. O Application.SendAppearingEventOnResume
método é usado para habilitar ou desabilitar o disparo do Appearing
evento page, quando o aplicativo é retomado do plano de fundo. O Application.ShouldPreserveKeyboardOnResume
método usado para controlar se o teclado virtual é exibido na retomada, se ele foi exibido em pausa, desde que o modo de operação do teclado virtual esteja definido como WindowSoftInputModeAdjust.Resize
.
O resultado é que os Disappearing
eventos e Appearing
page não serão disparados na pausa e retomada do aplicativo, respectivamente, e que, se o teclado virtual foi exibido quando o aplicativo foi pausado, ele também será exibido quando o aplicativo for retomado: