Gezinme Düzenleyici

Android Studio, gezinme grafiği oluşturmanızı ve düzenlemenizi sağlayan bir GUI içerir. Bu, temel XML kaynak dosyasının düzenleyicisidir.

Genel bakış

Uygulamanıza XML grafiği ekledikten sonra Android Studio, grafiği Gezinme Düzenleyici'de açar. Gezinme Düzenleyici'de, gezinme grafiklerini görsel olarak düzenleyebilir veya temel XML dosyasını doğrudan düzenleyebilirsiniz.

Şekil 1. Gezinme düzenleyicisi
  1. Hedefler paneli: Gezinme ana makinenizi ve tüm hedefleri Grafik Düzenleyici'de listeler.
  2. Grafik Düzenleyici: Gezinme grafiğinizin görsel bir temsilini içerir. Metin görünümünde, Tasarım görünümü ve temel XML gösterimi arasında geçiş yapabilirsiniz.
  3. Özellikler: Gezinme grafiğinde, seçilen öğenin özelliklerini gösterir.

İlgili XML dosyasını görmek için Metin sekmesini tıklayın. Bu XML dosyası aşağıdaki snippet'e benzer olacaktır:

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/nav_graph">

</navigation>

<navigation> öğesi, gezinme grafiğinin kök öğesidir. Grafiğinize hedefler ve bağlantı işlemleri eklerken karşılık gelen <destination> ve <action> öğelerini burada alt öğeler olarak görebilirsiniz. İç içe yerleştirilmiş grafikleriniz varsa bunlar alt <navigation> öğeleri olarak görünür.

Hedef ekleme

Mevcut bir parça veya etkinlikten hedef oluşturabilirsiniz. Ayrıca, Gezinme Düzenleyici'yi kullanarak yeni bir hedef oluşturabilir veya daha sonra bir parça ya da etkinlikle değiştirmek üzere bir yer tutucu oluşturabilirsiniz.

Bu örnekte, yeni bir hedefin nasıl oluşturulacağı gösterilmektedir. Gezinme Düzenleyici'yi kullanarak yeni bir hedef eklemek için aşağıdakileri yapın:

  1. Gezinme Düzenleyicisi'nde Yeni Hedef simgesini ve ardından, Yeni hedef oluştur'u tıklayın.
  2. Açılan Yeni Android Bileşeni iletişim kutusunda, parçanızı oluşturun. Parçalar hakkında daha fazla bilgi için parçalara genel bakış konusuna bakın.

Gezinme Düzenleyici'de, Android Studio'nun bu hedefi grafiğe eklediğine dikkat edin.

Şekil 2'de bir hedef ve yer tutucu hedef örneği gösterilmektedir.

Şekil 2. Bir hedef ve bir yer tutucu

Gezinme grafiğinize hedef eklemenin diğer yolları için Ek hedefler konusuna bakın.

Mevcut bir parça veya etkinlikten hedef oluşturma

Gezinme düzenleyicisinde, gezinme grafiğinize eklemek istediğiniz bir hedef türü varsa Yeni Hedef'i tıklayın.

Ardından, görünen açılır menüde ilgili hedefi tıklayın. Artık gezinme grafiğinizin Metin görünümünde, hedefin önizlemesini karşılık gelen XML ile birlikte Tasarım görünümünde görebilirsiniz.

Yeni parça hedefi oluşturma

Gezinme Düzenleyicisi'ni kullanarak yeni bir hedef türü eklemek için aşağıdakileri yapın:

  1. Gezinme Düzenleyicisi'nde Yeni Hedef simgesini tıklayın.

    Ardından Yeni hedef oluştur'u tıklayın.

  2. Açılan Yeni Android Bileşeni iletişim kutusunda, parçanızı oluşturun.

Gezinme Düzenleyici'de, Android Studio'nun bu hedefi grafiğe eklediğine dikkat edin.

Şekil 3'te bir hedef ve yer tutucu hedef örneği gösterilmektedir.

Şekil 3. Bir hedef ve bir yer tutucu

Bir hedefin anatomisi

Bir hedefi tıklayarak seçin ve Özellikler panelinde aşağıdaki özelliklere dikkat edin:

  • Tür alanı, hedefin kaynak kodunuzda bir parça, etkinlik veya başka bir özel sınıf olarak uygulanıp uygulanmadığını belirtir.
  • Etiket alanı, hedefin kullanıcı tarafından okunabilen adını içerir. Bu durum, kullanıcı arayüzünde de gösterilebilir. Örneğin, NavGraph'i setupWithNavController() kullanarak bir Toolbar öğesine bağlarsanız. Bu nedenle, bu değer için kaynak dizeleri kullanın.
  • ID alanı, koddaki hedefi belirtmek için kullanılan hedef kimliğini içerir.
  • Sınıf açılır menüsü, hedefle ilişkilendirilmiş sınıfın adını gösterir. İlişkili sınıfı başka bir hedef türüyle değiştirmek için bu açılır menüyü tıklayın.

Gezinme grafiğinizin XML görünümünü görmek için Metin sekmesini tıklayın. XML, aşağıdaki snippet'te olduğu gibi hedef için aynı id, name, label ve layout özelliklerini içerir:

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    app:startDestination="@id/blankFragment">
    <fragment
        android:id="@+id/blankFragment"
        android:name="com.example.cashdog.cashdog.BlankFragment"
        android:label="@string/label_blank"
        tools:layout="@layout/fragment_blank" />
</navigation>

Ayrıca, aşağıdakileri yaparak bir etkinliğe NavHostFragment eklemek için Düzen Düzenleyici'yi de kullanabilirsiniz:

  1. Proje dosyaları listenizde, etkinliğinizin düzen XML dosyasını çift tıklayarak bu dosyayı Düzen Düzenleyici'de açın.
  2. Palet bölmesinde Kapsayıcılar kategorisini seçin. Alternatif olarak, "NavHostFragment" öğesini arayın.
  3. NavHostFragment görünümünü etkinliğinize sürükleyin.
  4. Açılan Gezinme Grafikleri iletişim kutusunda, bu NavHostFragment ile ilişkilendirilecek ilgili gezinme grafiğini seçin ve Tamam'ı tıklayın.

Hedefleri bağla

İşlem, hedefler arasında mantıksal bir bağlantıdır. İşlemler, gezinme grafiğinde oklarla gösterilir. İşlemler genellikle bir hedefi diğerine bağlar. Bununla birlikte, sizi uygulamanızın herhangi bir yerinden belirli bir hedefe götüren genel işlemler de oluşturabilirsiniz.

İşlemlerle, kullanıcıların uygulamanızda kullanabilecekleri farklı yolları temsil edersiniz. Hedefler'e gerçekten gitmek üzere gezinmeyi gerçekleştirmek için yine de kod yazmanız gerektiğini unutmayın.

Aşağıdakileri yaparak iki hedefi bağlamak için Gezinme Düzenleyici'yi kullanabilirsiniz:

  1. Tasarım sekmesinde işaretçiyi, kullanıcıların gezinmesini istediğiniz hedefin sağ tarafında tutun. Hedefin sağ tarafında, şekil 4'te gösterildiği gibi bir daire belirir.

    Şekil 4. İşlem bağlantısı dairesi olan bir hedef
  2. İmlecinizi kullanıcıların gitmesini istediğiniz hedefin üzerine sürükleyin ve bırakın. İki hedef arasında ortaya çıkan çizgi, Şekil 5'te gösterildiği gibi bir işlemi temsil eder.

    Şekil 5. Hedefleri bir işlemle bağlama
  3. İşlemi vurgulamak için oku tıklayın. Aşağıdaki özellikler, Özellikler panelinde görünür:

    • Tür alanında "İşlem" ifadesi bulunur.
    • ID alanı, işlemin kimliğini içerir.
    • Destination (Hedef) alanı, hedef parçanın veya etkinliğin kimliğini içerir.
  4. XML görünümüne geçmek için Metin sekmesini tıklayın. Kaynak hedefe bir işlem öğesi eklenir. İşlem, aşağıdaki örnekte gösterildiği gibi, sonraki hedefin kimliğini içeren bir kimlik ve hedef özelliğine sahiptir:

    <?xml version="1.0" encoding="utf-8"?>
    <navigation xmlns:app="http://schemas.android.com/apk/res-auto"
       xmlns:tools="http://schemas.android.com/tools"
       xmlns:android="http://schemas.android.com/apk/res/android"
       app:startDestination="@id/blankFragment">
       <fragment
           android:id="@+id/blankFragment"
           android:name="com.example.cashdog.cashdog.BlankFragment"
           android:label="@string/label_blank"
           tools:layout="@layout/fragment_blank" >
           <action
               android:id="@+id/action_blankFragment_to_blankFragment2"
               app:destination="@id/blankFragment2" />
       </fragment>
       <fragment
           android:id="@+id/blankFragment2"
           android:name="com.example.cashdog.cashdog.BlankFragment2"
           android:label="@string/label_blank_2"
           tools:layout="@layout/fragment_blank_fragment2" />
    </navigation>
    

Gezinme grafiğinizde, işlemler <action> öğeleriyle temsil edilir. Bir işlem en azından kendi kimliğini ve kullanıcının götürülmesi gereken hedefin kimliğini içerir.

Yer tutucu hedefleri

Uygulanmamış hedefleri temsil etmek için yer tutucular kullanabilirsiniz. Yer tutucu, hedefin görsel bir temsili olarak görev yapar. Gezinme Düzenleyici'de, yer tutucuları diğer hedeflerde olduğu gibi kullanabilirsiniz.