Tahmine dayalı geri hareketi ve sistem animasyonları varsayılan olarak etkindir. Uygulamanız geri etkinliğini yakalıyorsa ve tahminli geriye gitme özelliğine geçmediyseniz uygulamanızı desteklenen geri gezinme API'lerini kullanacak şekilde güncelleyin.
Varsayılan sistem animasyonlarını etkinleştirme
Ana sayfaya geri gitme, etkinlikler arası geçiş ve görevler arası geçiş sistem animasyonları, desteklenen geri işleme API'lerine taşınan uygulamalar için Android 15 ve sonraki sürümlerde kullanılabilir.
- Ana ekrana dönme: Kullanıcıyı ana ekrana döndürür.
- Etkinlikler arası: Uygulama içindeki etkinlikler arasında geçişler.
- Görevler arası: Görevler arasında geçişler.
Bu animasyonlar, Android 15 ve sonraki sürümlerde varsayılan olarak etkindir. Android 13 veya 14 çalıştıran cihazlarda kullanıcılar, Geliştirici seçenekleri'nden bu özelliği etkinleştirebilir.
Sistem animasyonlarını almak için AndroidX Activity
bağımlılığınızı 1.6.0 veya daha yeni bir sürüme güncelleyin.
Navigation Compose ile tahmine dayalı geri gitmeyi etkinleştirme
Navigation Compose'da tahmini geri özelliğini kullanmak için navigation-compose
2.8.0 kitaplığını veya daha yeni bir sürümünü kullandığınızdan emin olun.
Navigation Compose, kullanıcı geri kaydırdığında ekranlar arasında otomatik olarak geçiş yapar:
Gezinirken popEnterTransition
ve popExitTransition
ile özel geçişler oluşturabilirsiniz. NavHost
için uygulandığında bu değiştiriciler, giriş ve çıkış ekranlarının nasıl animasyonlandırılacağını tanımlamanıza olanak tanır. Bu efektleri kullanarak ölçeklendirme, solma veya kaydırma gibi çeşitli efektler oluşturabilirsiniz.
Bu örnekte, kullanıcı geri giderken çıkış ekranını küçültmek için scaleOut
, popExitTransition
içinde kullanılıyor. Ayrıca, transformOrigin
parametresi, ölçeklendirme animasyonunun gerçekleştiği noktayı belirler. Varsayılan olarak ekranın merkezidir (0.5f, 0.5f
).
Ölçeklendirmenin farklı bir noktadan başlaması için bu değeri ayarlayabilirsiniz.
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
Bu kod aşağıdaki sonucu üretir:
popEnterTransition
ve popExitTransition
, özellikle geri hareketle geri yığını açarken animasyonları kontrol eder. Ayrıca, yalnızca tahmini geri için değil, genel olarak composable'ların giriş ve çıkış animasyonlarını tanımlamak için enterTransition
ve exitTransition
öğelerini de kullanabilirsiniz. Yalnızca enterTransition
ve exitTransition
ayarlarsanız bunlar hem normal gezinme hem de geri yığınına geri dönme için kullanılır. Ancak popEnterTransition
ve popExitTransition
kullanarak geri gitme için farklı animasyonlar oluşturabilirsiniz.
Paylaşılan öğe geçişleriyle entegrasyon
Paylaşılan öğe geçişleri, paylaşılan içeriğe sahip composable'lar arasında sorunsuz bir görsel bağlantı sağlar ve genellikle gezinme için kullanılır.
Navigation Compose ile paylaşılan öğeleri kullanmak için Paylaşılan öğelerle tahmini geri gitme başlıklı makaleye bakın.
Material Compose bileşenleriyle tahmin edilen geri gitme özelliğini destekleme
Material Compose kitaplığındaki birçok bileşen, tahminli geri hareketleriyle sorunsuz çalışacak şekilde tasarlanmıştır. Bu bileşenlerde tahmini geri animasyonlarını etkinleştirmek için projenize en yeni Material3 bağımlılığını (androidx.compose.material3:material3-*:1.3.0
veya daha yeni) ekleyin.
Tahmine dayalı geri hareketi animasyonlarını destekleyen Materyal bileşenleri şunlardır:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
ve ModalBottomSheet
, tahmine dayalı geri hareketiyle otomatik olarak animasyonlu hale gelir. ModalNavigationDrawer
,
ModalDrawerSheet
, DismissibleDrawerSheet
ve
DismissibleNavigationDrawer
, drawerState
öğesini kendi sayfa içeriği composable'lerine iletmenizi gerektirir.
Tahmin edilen geri gitme hareketi animasyonunu test etme
Android 13 veya Android 14'ü kullanmaya devam ediyorsanız ana ekrana dönüş animasyonunu test edebilirsiniz.
Bu animasyonu test etmek için aşağıdaki adımları uygulayın:
- Cihazınızda Ayarlar > Sistem > Geliştirici seçenekleri'ne gidin.
- Tahmine dayalı geri hareketi animasyonları'nı seçin.
- Güncellenen uygulamanızı başlatın ve geri hareketini kullanarak nasıl çalıştığını görün.
Android 15 ve sonraki sürümlerde bu özellik varsayılan olarak etkindir.
Ek kaynaklar
- Tahmine dayalı geri hareketi animasyonları ekleme Codelab'i
- Compose Video'da gelişmiş düzen animasyonları