Gezinme denetleyicisi oluşturma

Gezinme denetleyicisi, gezinmedeki temel kavramlardan biridir. Navigasyon grafiğini tutar ve uygulamanızın grafikteki hedefler arasında hareket etmesine olanak tanıyan yöntemleri kullanıma sunar.

Navigation bileşenini kullanırken NavController sınıfını kullanarak bir gezinme denetleyicisi oluşturursunuz. NavController, merkezi gezinme API'sidir. Kullanıcının ziyaret ettiği hedefleri izler ve kullanıcıların hedefler arasında geçiş yapmasına olanak tanır. Bu kılavuzda, uygulamanızda nasıl NavController oluşturacağınız gösterilmektedir.

NavController uygulamanıza gezinme grafiği ekleme hakkında bilgi edinmek için Gezinme grafiğinizi tasarlama başlıklı makaleyi inceleyin. NavController, grafiğindeki hedeflere gitmek için birkaç farklı yol sunar. Daha fazla bilgi için Hedefe gitme başlıklı makaleyi inceleyin.

Oluştur

Jetpack Compose kullanırken NavController oluşturmak için rememberNavController() işlevini çağırın:

val navController = rememberNavController()

Birleştirilebilir hiyerarşinizde NavController yüksekliği oluşturmanız gerekir. Bu değer, referans vermesi gereken tüm composable'ların bunu yapabilmesi için yeterince yüksek olmalıdır.

Bu sayede, ekranlarınızın dışındaki composable'ları güncellemek için NavController'yı tek doğruluk kaynağı olarak kullanabilirsiniz. Bu, durum yükseltme ilkelerine uygundur.

Görüntüleme sayısı

Views kullanıcı arayüzü çerçevesini kullanıyorsanız bağlama bağlı olarak aşağıdaki yöntemlerden birini kullanarak NavController'ınızı alabilirsiniz:

Kotlin:

Java:

Genellikle önce NavHostFragment alırsınız, ardından parçadan NavController öğesini alırsınız. Aşağıdaki snippet bu durumu gösterir:

Kotlin

val navHostFragment =
    supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

Java

NavHostFragment navHostFragment =
    (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();

Daha fazla bilgi

  • Navigasyon grafiğinizi tasarlama: Uygulamanızdaki tüm hedefleri içeren bir grafiği NavController'nize nasıl ekleyeceğinizi ayrıntılı olarak açıklayan bir kılavuz.
  • Hedefe gitme: Gezinme grafiğinizdeki hedefler arasında hareket etmek için NavController simgesinin nasıl kullanılacağını ayrıntılı olarak açıklayan bir kılavuz.