Aracılığıyla paylaş


Android'de Sayfa Yaşam Döngüsü Olayları

Bu Android platformuna Disappearing özgü, AppCompat kullanan uygulamalar için sırasıyla uygulama duraklatma ve sürdürme işlemlerinde ve Appearing sayfa olaylarını devre dışı bırakmak için kullanılır. Buna ek olarak, yumuşak klavyenin çalışma modunun olarak ayarlanması WindowSoftInputModeAdjust.Resizekoşuluyla, yumuşak klavyenin özgeçmişte görüntülenip görüntülenmeyeceğini, duraklatıldığında görüntülenip görüntülenmeyeceğini denetleme özelliği içerir.

Not

Bu olayların, olaylara dayanan uygulamalar için mevcut davranışı korumak üzere varsayılan olarak etkinleştirildiğini unutmayın. Bu olayların devre dışı bırakılması AppCompat olay döngüsünün AppCompat öncesi olay döngüsüyle eşleşmesini sağlar.

Bu platforma özgü XAML'de , Application.SendAppearingEventOnResumeve Application.ShouldPreserveKeyboardOnResume ekli özellikleri değerlere boolean ayarlanarak Application.SendDisappearingEventOnPausekullanılabilir:

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

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

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

yöntemi, Application.Current.On<Android> platforma özgü bu uygulamanın yalnızca Android'de çalışacağını belirtir. Application.SendDisappearingEventOnPause ad alanındaki Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat yöntemi, uygulama arka plana girdiğinde sayfa olayını tetiklemeye Disappearing olanak tanımak veya devre dışı bırakmak için kullanılır. Application.SendAppearingEventOnResume yöntemi, uygulama arka plandan devam ettiğinde sayfa olayını tetiklemeye Appearing olanak tanımak veya devre dışı bırakmak için kullanılır. Application.ShouldPreserveKeyboardOnResume yöntemi, yumuşak klavyenin çalışma modunun olarak ayarlanması WindowSoftInputModeAdjust.Resizekoşuluyla, geçici klavyenin özgeçmişte görüntülenip görüntülenmeyeceğini, duraklatıldığında görüntülenip görüntülenmeyeceğini denetler.

Sonuç olarak Disappearing ve Appearing sayfa olayları sırasıyla uygulama duraklatılıp sürdürülürken tetiklenmez ve uygulama duraklatıldığında yumuşak klavye görüntülenirse, uygulama devam ettiğinde de görüntülenir:

Yaşam Döngüsü Olayları Platforma Özgü