Sdílet prostřednictvím


Události životního cyklu stránky v Androidu

Tato platforma pro Android se používá k zakázání Disappearing Appearing událostí stránky v aplikaci pozastavit a obnovit pro aplikace, které používají AppCompat. Kromě toho zahrnuje možnost řídit, zda je soft klávesnice zobrazena v životopisu, pokud byla zobrazena při pozastavení, za předpokladu, že provozní režim softwarové klávesnice je nastaven na WindowSoftInputModeAdjust.Resize.

Poznámka:

Všimněte si, že tyto události jsou ve výchozím nastavení povolené, aby se zachovalo stávající chování pro aplikace, které na tyto události spoléhají. Zakázáním těchto událostí se cyklus událostí AppCompat shoduje s cyklem událostí pre-AppCompat.

Tuto platformu lze v XAML využívat nastavením Application.SendDisappearingEventOnPauseApplication.SendAppearingEventOnResumeApplication.ShouldPreserveKeyboardOnResume a připojenými vlastnostmi k boolean hodnotám:

<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>

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

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);

Metoda Application.Current.On<Android> určuje, že tato konkrétní platforma se bude spouštět pouze v Androidu. Metoda Application.SendDisappearingEventOnPause v Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat oboru názvů slouží k povolení nebo zakázání Disappearing aktivaci události stránky při vstupu aplikace na pozadí. Metoda Application.SendAppearingEventOnResume se používá k povolení nebo zakázání Appearing aktivaci události stránky, když aplikace obnoví z pozadí. Metoda Application.ShouldPreserveKeyboardOnResume se používá řízení, zda je soft klávesnice zobrazena v životopisu, pokud byla zobrazena při pozastavení, za předpokladu, že provozní režim softwarové klávesnice je nastaven na WindowSoftInputModeAdjust.Resize.

Výsledkem je to, že Disappearing události a Appearing události stránky se neaktivují při pozastavení a obnovení aplikace a že pokud se po pozastavení aplikace zobrazila měkká klávesnice, zobrazí se také při obnovení aplikace:

Specifické pro platformu událostí životního cyklu