Tahmine dayalı geri hareketi animasyonları özelliğini etkinleştirmek için tahmine dayalı geri hareketi desteklemeyi etkinleştirmeniz gerekir. Özelliği etkinleştirmek için AndroidManifest.xml
dosyanızdaki <application>
etiketine veya tek tek <activity>
etiketlerine android:enableOnBackInvokedCallback="true
" ekleyin.
Varsayılan sistem animasyonlarını etkinleştirme
Ana sayfaya geri gitme, etkinlik ve görevler arasında geçiş yapıp geri gitme sistem animasyonları, desteklenen geri işleme API'lerine taşınan uygulamalarda Android 15 ve sonraki sürümleri çalıştıran cihazlarda kullanılabilir.
- Ana ekrana dön: Kullanıcıyı ana ekrana döndürür.
- Etkinlikler arası: Uygulamadaki 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 bu özellikleri Geliştirici seçenekleri üzerinden etkinleştirebilir.
Sistem animasyonları için AndroidX Activity
bağımlılığınızı 1.6.0 veya sonraki bir sürüme güncelleyin.
Gezinme Oluşturma ile tahmine dayalı geri hareketi etkinleştirme
Gezinme Oluştur'da tahmini geri özelliğini kullanmak için navigation-compose
2.8.0 veya daha yeni bir kitaplık kullandığınızdan emin olun.
Gezinme Oluşturma, 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. Bu değiştiriciler, NavHost
'ünüze uygulandığında giriş ve çıkış ekranlarının nasıl animasyonlu olacağını tanımlamanıza olanak tanır. Bu araçları kullanarak ölçeklendirme, solma veya kaydırma gibi çeşitli efektler oluşturabilirsiniz.
Bu örnekte, kullanıcı geri dönerken çıkış ekranını küçültmek için popExitTransition
içinde scaleOut
kullanılır. Ayrıca transformOrigin
parametresi, ölçeklendirme animasyonunun gerçekleştiği noktayı belirler. Varsayılan olarak ekranın ortasındadır (0.5f, 0.5f
). Ölçeklemenin 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 arka yığının açıldığı durumlarda (ör. geri hareketi ile) animasyonları kontrol eder. enterTransition
ve exitTransition
'yi yalnızca tahmini geri düğmesi için değil, genel olarak bileşimlere girme ve bileşimlerden çıkma animasyonları tanımlamak için de kullanabilirsiniz. Yalnızca enterTransition
ve exitTransition
'ü ayarlarsanız bunlar hem normal gezinme hem de geri yığınını göstermek için kullanılır. Ancak popEnterTransition
ve popExitTransition
'ü kullanmak, geri gezinme için farklı animasyonlar oluşturmanıza olanak tanır.
Ortak öğe geçişleriyle entegrasyon
Paylaşılan öğe geçişleri, genellikle gezinme için kullanılan paylaşılan içeriğe sahip bileşenler arasında sorunsuz bir görsel bağlantı sağlar.
Gezinme Oluştur ile paylaşılan öğeleri kullanmak için Ortak öğelerle tahmini geri alma başlıklı makaleyi inceleyin.
Material Compose bileşenleriyle tahmini geri desteği
Material Compose kitaplığındaki birçok bileşen, tahmini geri hareketleriyle sorunsuz bir şekilde çalışacak şekilde tasarlanmıştır. Bu bileşenlerde tahmini geri animasyonlarını etkinleştirmek için projenize en son Material3 bağımlılığını (androidx.compose.material3:material3-*:1.3.0
veya daha yeni) ekleyin.
Tahmine dayalı geri hareketi animasyonları destekleyen Materyal bileşenleri şunlardır:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
ve ModalBottomSheet
, tahmine dayalı geri hareketleriyle otomatik olarak animasyonlu hale gelir. ModalNavigationDrawer
,
ModalDrawerSheet
, DismissibleDrawerSheet
ve
DismissibleNavigationDrawer
, drawerState
öğesini ilgili sayfa içeriği kompozisyonlarına iletmenizi gerektirir.
Tahmine dayalı geri hareketi animasyonunu test etme
Hâlâ Android 13 veya Android 14 kullanıyorsanız ana ekrana geri 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.
- Tahmine dayalı geri hareketi animasyonları'nı seçin.
- Güncellenen uygulamanızı başlatın ve geri hareketini kullanarak uygulamanın 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
- Video oluşturma bölümündeki gelişmiş düzen animasyonları