Her kullanıcı yolculuğu için ayrı ekranlar tasarladıktan sonra birkaç dikey veya tek ekranınız olabilir. Ardından, bu ekranların birlikte çalışacak şekilde nasıl tasarlanacağına ve gezinmenin nasıl uygulanacağına karar vermeniz gerekir.
Tasarım
Uygulama tasarım kurallarında belirtildiği gibi, uygulamanızın hiyerarşisini sığ ve doğrusal tutun.
Başlangıç olarak, uygulamanızın başlatıcısı en yaygın kullanıcı yolculuğunu açmalıdır. Her kullanıcı yolculuğunu, en önemli içerik üstte olacak şekilde tasarlayın. Dikey kapsayıcılarda, diğer ve daha az yaygın kullanıcı yolculuklarına ve ayarlara bağlantı vermek için alt kısmı kullanın.
Şekil 1. En önemli içerikleri dikey kapsayıcıların en üstünde tutun.
Kullanıcılar ekranlarınızdan birine girdiğinde, geri yığını içinde aşağı doğru gezinmek için kaydırarak kapatma hareketini kullanabildiklerinden emin olun.
Gezinmeyi uygulama
Gezinme özelliğini uygularken aşağıdaki bölümlerde açıklanan üç seçeneğiniz vardır:
- Yalnızca etkinlikler (önerilen yaklaşım)
- Etkinlikler ve parçalar
- Jetpack Navigation
Yalnızca etkinlikler
Dikey ekranlar genellikle tek seviyeli olduğundan tüm ekranlarınızı etkinlikleri kullanarak ve parçaları kullanmadan uygulayabilirsiniz.
Bu yaklaşımı kesinlikle öneririz. Kodunuzu basitleştirir ve etkinlikler otomatik olarak kaydırarak kapatma özelliğini destekler. Bu sayede ortam modunu uygulamak da kolaylaşır.
Not: Parçalar kullanmıyorsanız etkinliklerinizin ComponentActivity öğesinden devralınmasını sağlayın. Diğer etkinlik türlerinde, Wear OS için ihtiyacınız olmayan mobil cihaza özel kullanıcı arayüzü öğeleri kullanılır.
Etkinlikler ve parçalar
Wear OS uygulamanızdaki etkinliklerle parçalar kullanabilirsiniz. Ancak, sığ ve düz bir mimari oluşturmak için parçalar kullanmanın net bir avantajı olmadığından bunu önermiyoruz.
Not: Parçalar kullanıyorsanız bunların FragmentActivity öğesinden devralınmasını sağlayın. Diğer etkinlik türlerinde, Wear OS için ihtiyacınız olmayan mobil cihaza özel kullanıcı arayüzü öğeleri kullanılır.
Wear OS uygulamanızda parçaları kullanmayla ilgili bazı zorluklar şunlardır:
- Kapatmak için kaydırma özelliğini kendiniz uygulamanız gerekir. Aksi takdirde, kullanıcı kaydırma işlemi yaptığında uygulamanın tamamından çıkar.
-
AmbientModekullanıyorsanız düzgün çalışması için özelleştirmeniz gerekir.AmbientMode, etkinlikte ayarlanır. Bu nedenle, parçaları uygularken bunu göz önünde bulundurmanız gerekir.
Parçalarla kaydırarak kapatma özelliğini desteklemek için parçayı içeren görünümü SwipeDismissFrameLayout sınıfına sarmalamanız gerekir. Daha fazla bilgi için Kaydırarak kapatma hareketi başlıklı makaleyi inceleyin. Bu sayede kullanıcılar uygulamanızla tutarlı bir deneyim yaşar.
Not: Parçaları kullanırken kaydırarak kapatma hareketini desteklemek için
FragmentManager.add
yerine
FragmentManager.replace
kullanın.
Bu, önceki parçanızın, kaydırılarak uzaklaştırılırken üstteki parçanın altında oluşturulmasına yardımcı olur.
Jetpack Navigation
Jetpack Navigation, Wear OS'te çalışabilir ancak parçalarla aynı dezavantajlara sahiptir. Bu durum, geliştirme çalışmalarını artırır ve Wear OS uygulamalarının hiyerarşisi genellikle sığ ve doğrusal olduğundan çok fazla avantaj sunmaz. Yalnızca etkinliğe dayalı bir yaklaşım en iyisidir.
Jetpack Navigation'dan tam olarak yararlanmak için aşağıdakileri yapın:
-
Her parçanın kök olarak
SwipeDismissFrameLayoutkullandığından ve gezinme grafiğinde geri gitmek için kapatma işlemini manuel olarak kullandığınızdan emin olun. -
Parçaları birbirinin üzerinde oluşturacak özel bir
FragmentNavigatoruygulayın.