Gezinme, kullanıcıların uygulamanızdaki farklı içerikler arasında gezinmesini, bu içeriklere giriş ve bu farklı içeriklerden geri dönmesini sağlayan etkileşimleri ifade eder.
Android Jetpack'in Navigasyon bileşeni, Gezinme kitaplığı, Safe Args Gradle eklentisi ve uygulamada gezinmeyi uygulamanıza yardımcı olacak araçlar içerir. Gezinme bileşeni, basit düğme tıklamalarından uygulama çubukları ve gezinme çekmecesi gibi daha karmaşık kalıplara kadar çeşitli gezinme kullanım alanlarını ele alır.
Temel kavramlar
Aşağıdaki tabloda, gezinmedeki üç temel kavrama ve bunları uygulamak için kullandığınız ana türlere genel bir bakış sunulmaktadır.
Konsept |
Amaç |
Tür |
---|---|---|
Düzenleyen |
Mevcut gezinme hedefini içeren bir kullanıcı arayüzü öğesi. Yani, bir kullanıcı bir uygulamada gezindiğinde, uygulama temelde navigasyon ana makinesine ve ana makineden hedefler değiştirir. |
|
Grafik |
Uygulama içindeki tüm gezinme hedeflerini ve bunların birbirlerine nasıl bağlandıklarını tanımlayan bir veri yapısı. |
|
Kumanda |
Hedefler arasında navigasyonu yönetmek için merkezi koordinatör. Kumanda; hedefler arasında gezinme, derin bağlantıları işleme ve arka yığını yönetme gibi pek çok yöntem için yöntemler sunar. |
Avantajlar ve özellikler
Gezinme bileşeni, aşağıdakiler de dahil olmak üzere başka pek çok avantaj ve özellik sunar:
- Animasyonlar ve geçişler: Animasyonlar ve geçişler için standartlaştırılmış kaynaklar sağlar.
- Derin bağlantı: Kullanıcıyı doğrudan bir hedefe yönlendiren derin bağlantıları uygular ve işler.
- Kullanıcı arayüzü kalıpları: Minimum ek çalışmayla gezinme çekmeceleri ve altta gezinme gibi kalıpları destekler.
- Tür güvenliği: Hedefler arasında veri gezerken ve veri aktarırken tür güvenliği sağlayan Safe Args Gradle eklentisini içerir.
- ViewModel desteği: Grafiğin hedefleri arasında kullanıcı arayüzü ile ilgili verileri paylaşmak için bir gezinme grafiğine
ViewModel
kapsamının dahil edilmesini etkinleştirir. - Parça işlemleri: Parça işlemleri tam olarak destekler ve işler.
- Yedekleme ve yedekleme: Yedekleme ve yedekleme işlemlerini varsayılan olarak doğru şekilde ele alır.
Ortamınızı ayarlama
Projenize gezinme desteğini dahil etmek için uygulamanızın build.gradle
dosyasına aşağıdaki bağımlılıkları ekleyin:
Modern
dependencies { def nav_version = "2.7.7" // Java language implementation implementation "androidx.navigation:navigation-fragment:$nav_version" implementation "androidx.navigation:navigation-ui:$nav_version" // Kotlin implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" // Feature module Support implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version" // Testing Navigation androidTestImplementation "androidx.navigation:navigation-testing:$nav_version" // Jetpack Compose Integration implementation "androidx.navigation:navigation-compose:$nav_version" }
Kotlin
dependencies { val nav_version = "2.7.7" // Java language implementation implementation("androidx.navigation:navigation-fragment:$nav_version") implementation("androidx.navigation:navigation-ui:$nav_version") // Kotlin implementation("androidx.navigation:navigation-fragment-ktx:$nav_version") implementation("androidx.navigation:navigation-ui-ktx:$nav_version") // Feature module Support implementation("androidx.navigation:navigation-dynamic-features-fragment:$nav_version") // Testing Navigation androidTestImplementation("androidx.navigation:navigation-testing:$nav_version") // Jetpack Compose Integration implementation("androidx.navigation:navigation-compose:$nav_version") }
Projenize başka mimari bileşenleri ekleme hakkında bilgi edinmek için Projenize bileşen ekleme bölümüne bakın.
Sonraki adımlar
Gezinme bileşeniyle ilgili daha fazla doküman ve kaynak için aşağıdaki kaynaklara bakın.
Ayrıntılı kılavuzlar
Gezinme ana makinesinin ve NavController
'nin nasıl uygulanacağı hakkında daha fazla bilginin yanı sıra bunların Compose ve diğer kullanıcı arayüzü çerçeveleriyle nasıl etkileşimde bulundukları hakkında daha fazla bilgi için aşağıdaki kılavuzlara bakın:
- Gezinme denetleyicisi oluşturma:
NavController
oluşturmayı özetler. - Gezinme grafiğinizi oluşturma: Gezinme ana makinesi ve gezinme grafiğinin nasıl oluşturulacağına ilişkin ayrıntılar sunar.
- Bir hedefe gitme: Grafiğinizdeki hedefler arasında geçiş yapmak için
NavController
öğesinin nasıl kullanılacağını gösterir.
Codelab uygulamaları
- Jetpack Navigasyonu'nu öğrenme
- Parçalar ve Gezinme Bileşeni
- Dinamik gezinme ile uyarlanabilir uygulama oluşturma
Videolar
- Navigasyonda gezinme
- Tek bir etkinliğe geçmek için 10 en iyi uygulama
- Tek etkinlik: Neden, ne zaman ve hHow (Android Dev Summit '18)
- Android Jetpack: Kullanıcı arayüzünde gezinmeyi gezinme denetleyicisiyle yönetme (Google I/O '18)