Gezinme Etkinliği

Navigation Event, sistem düzeyindeki gezinme etkinliklerini uygulamanıza entegre etmek için Kotlin Multiplatform (KMP) çözümü sağlayan bir kitaplıktır. Çeşitli desteklenen platformlarda gezinme talimatlarını işlemek için temel katman olarak tasarlanmıştır.

Temel kavramlar

Navigation Event sistemi, genellikle üst-alt öğe hiyerarşisinde kullanılan merkezi bir dağıtıcı-işleyici modeli üzerine kurulmuştur. Bu model, Jetpack Compose'da bulunanlar gibi karmaşık kullanıcı arayüzü yapılarıyla eşleme yapmak için kullanılır.

NavigationEventDispatcher, tüm kayıtlı gezinme etkinliği tüketicilerini (NavigationEventHandler) yönetmekten ve etkinlik akışını düzenlemekten sorumlu merkezi sınıftır.

Hiyerarşik bir kurulumda, aynı zincirdeki tüm dağıtıcılar tek bir NavigationEventProcessor paylaşır. Bu NavigationEventProcessor, genel durumu yönetir ve ağacın tamamında tek bir birleşik dağıtım sırası olmasını sağlar.

NavigationEventHandler, NavigationEventDispatcher tarafından gönderilen gezinme etkinliklerini alan ve işleyen soyut bir sınıftır. Bir gezinme hareketi yaşam döngüsünün farklı aşamalarına karşılık gelen geri çağırma yöntemlerini tanımlar. Örneğin, bir hareket başladığında, ilerlediğinde, tamamlandığında veya iptal edildiğinde.

İşleyiciler, kullanıcı gezinme işlemlerine yanıt olarak kullanıcı arayüzünü veya uygulama durumunu güncellemek için bu etkinliklere yanıt verebilir. Bir dağıtıcıya birden fazla işleyici kaydedilebilir ve bunlar önceliğe ve kayıt sırasına göre çağrılır.

NavigationEvent, gezinme hareketiyle ilgili ayrıntıları içeren bir veri sınıfıdır.

NavigationEventInfo, bir gezinme durumu hakkında bağlamsal bilgi sağlayan soyut bir sınıftır.

NavigationEventInput, gezinme etkinlikleri oluşturan ve gönderen bileşenler için soyut bir sınıftır. Platforma özgü etkinlikleri (ör. sistemde geri gitme hareketleri veya düğme tıklamaları) bir NavigationEventDispatcher'ya gönderilebilecek standartlaştırılmış etkinliklere çevirerek gezinme sisteminin "giriş" tarafı olarak işlev görür.

Desteklenen navigasyon talimatları ve tetikleyiciler

Gezinme Etkinliği sistemi, platformlar arası birden fazla gezinme yönünü ve giriş yöntemini destekleyen tasarımlarla yalnızca sistemin geri düğmesini değil, daha fazlasını kapsayacak şekilde tasarlanmıştır.

Desteklenen yönler

Farklı platformlar, farklı gezinme yönlerini destekler:

Platform

Geri

Yukarı

Yönlendir

Ana Sayfa

Android telefon

🚫

Android tablet

🚫

Web (Tarayıcı)

🚫

iOS (iPhone/iPad)

🚫

Desteklenen tetikleyiciler

Giriş işleme, her platformda çeşitli mekanizmalar aracılığıyla gerçekleştirilir:

Tetikleyici

Android telefon

Web (Tarayıcı)

iOS (iPhone/iPad)

Klavyedeki geri düğmesi

✅ Geri

✅ Geri

Yazılım geri düğmesi

🚫

✅ Geri

✅ Geri

Yazılım yukarı düğmesi

✅ Yukarı

🚫

🚫

Soldan kaydırma hareketi

✅ Geri

✅ Geri

Sağdan kaydırma hareketi

✅ Geri

✅ Yönlendirme

Alttan yukarı kaydırma hareketi

✅ Ana Sayfa

🚫

✅ Ana Sayfa