Tahmin edilen geri gitme ve sistem animasyonları varsayılan olarak etkindir. Uygulamanız geri gitme etkinliğini engelliyorsa ve tahmin edilen geri gitme özelliğine geçiş yapmadıysanız uygulamanızı desteklenen geri gezinme API'lerini kullanacak şekilde güncelleyin.
Varsayılan sistem animasyonlarını etkinleştirme
Ana sayfaya geri dönme, etkinlikler arası geçiş ve görevler arası geçiş sistem animasyonları, desteklenen geri alma API'lerine geçiş yapan uygulamalar için Android 15 ve sonraki sürümlere sahip cihazlarda kullanılabilir.
- Ana ekrana dönme: Kullanıcıyı ana ekrana döndürür.
- Etkinlikler arası: Uygulama içindeki etkinlikler arasındaki geçişler.
- Görevler arası: Görevler arasındaki geçişler.
Bu animasyonlar, Android 15 ve sonraki sürümlerde varsayılan olarak etkindir. Android 13 veya 14 yüklü cihazlarda kullanıcılar, Geliştirici seçenekleri'nden bu özellikleri 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 tahmin edilen geri gitmeyi etkinleştirme
Navigation Compose'da tahmin edilen geri gitme özelliğini kullanmak için navigation-compose 2.8.0 veya daha yeni bir kitaplık 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 öğenize uygulandığında bu değiştiriciler, giriş ve çıkış ekranlarının nasıl animasyonlu hale getirileceğini tanımlamanıza olanak tanır. Bunları kullanarak ölçeklendirme, karartma veya kaydırma gibi çeşitli efektler oluşturabilirsiniz.
Bu örnekte, kullanıcı geri gittiğinde mevcut ekranın ölçeğini küçültmek için popExitTransition içinde scaleOut kullanılmıştır. Ayrıca transformOrigin parametresi, ölçeklendirme animasyonunun gerçekleştiği noktayı belirler. Varsayılan olarak ekranın ortasıdır (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 verir:
popEnterTransition ve popExitTransition, özellikle eski yığın geri alma hareketiyle açılırken animasyonları kontrol eder. Ayrıca, yalnızca tahmin edilen geri gitme için değil, genel olarak composable'lara giriş ve çıkış animasyonlarını tanımlamak için enterTransition ve exitTransition öğelerini de kullanabilirsiniz. Yalnızca enterTransition ve exitTransition değerlerini ayarlarsanız bunlar hem normal gezinme hem de eski yığını açma için kullanılır. Ancak popEnterTransition ve popExitTransition kullanarak geri gezinme 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. Bu geçişler genellikle gezinme için kullanılır.
Navigation Compose ile paylaşılan öğeleri kullanmak için Paylaşılan öğelerle tahmin edilen geri gitme başlıklı makaleyi inceleyin.
Material Compose bileşenleriyle tahmin edilen geri gitme özelliğini destekleme
Material Compose kitaplığındaki birçok bileşen, tahmin edilen geri gitme hareketleriyle sorunsuz çalışacak şekilde tasarlanmıştır. Bu bileşenlerde tahmin edilen geri gitme animasyonlarını etkinleştirmek için projenize en son Material3 bağımlılığını (androidx.compose.material3:material3-*:1.3.0 veya sonraki sürümler) ekleyin.
Tahmin edilen geri gitme animasyonlarını destekleyen Material bileşenleri şunlardır:
SearchBarModalBottomSheetModalDrawerSheet/DismissibleDrawerSheetModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar ve ModalBottomSheet, tahmin edilen geri gitme hareketleriyle otomatik olarak animasyonlu hale getirilir. ModalNavigationDrawer,
ModalDrawerSheet, DismissibleDrawerSheet ve
DismissibleNavigationDrawer, drawerState öğesini ilgili sayfa içeriği composable'larına iletmenizi gerektirir.
Tahmin edilen geri gitme hareketi animasyonunu test etme
Hâlâ Android 13 veya Android 14 kullanıyorsanız ana ekrana dönme 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.
- Tahmin edilen geri gitme animasyonları'nı seçin.
- Güncellenen uygulamanızı başlatın ve geri hareketini kullanarak nasıl çalıştığını görün.
Bu özellik, Android 15 ve sonraki sürümlerde varsayılan olarak etkindir.
Ek kaynaklar
- Tahmin edilen geri gitme animasyonları ekleme codelab'i
- Compose'da gelişmiş düzen animasyonları videosu