💻
Jetpack Navigation
  • 01. Başlarken..
  • 02. Navigation Çalışma Yapısı ve Bileşenleri
  • 03. Navigation Destekli Uygulama Oluşturmak
  • 04. Projenize Navigation Graph Eklemek
  • 05. Projenize NavHostFragment Eklemek
  • 06. Bir Destination'ın Anatomisi
  • 07. Destination'ların Bağlanması
  • 08. NavController Kullanarak Bir Hedef Noktasına Gitmek
  • 09. Nested Navigation Graphs
  • 10. Global Actions
  • 11. Talk is cheap show me the code!
    • Örnek-1: NavController Kullanarak Bir Hedef Noktasına Gitmek
    • Örnek-2: Destination'lar Arasında Veri Aktarma
    • Örnek-3: Navigation Komponenti ile Options Menu Kullanımı
    • Örnek-4: Navigation Komponenti ile ActionBar ve DrawerLayout Kullanımı
    • Örnek-5: Navigation Komponenti ile BottomNavigationView Kullanımı
    • Örnek-6: Özel Geçiş Animasyonu Hazırlama
    • Örnek-7: Navigation Komponenti ile Deep Links Kullanımı
  • Kaynaklar
  • Hakkında
Powered by GitBook
On this page

Was this helpful?

10. Global Actions

Global actions (eylemler), kitabımızın başından beri sözünü ettiğimiz destination'larla birlikte çalıştığımız başrol oyuncularımızdan biri. Bu başlıkta onun detaylarını inceleyeceğiz.

Previous09. Nested Navigation GraphsNext11. Talk is cheap show me the code!

Last updated 5 years ago

Was this helpful?

Birden çok hedefin (destination) kullanabileceği ortak bir eylem oluşturmak için genel bir eylem (global action) kullanabilirsiniz. Örneğin, farklı hedeflerdeki düğmelerin aynı ana uygulama ekranına gitmesini isteyebilirsiniz. Bu durumda global action tanımlamak doğru bir yaklaşım olacaktır.

Global action nasıl eklenir?

Bunun için tekrar örneğimize dönelim ve bir önceki derste hazırladığımız nested graph'a bir global action tanımlayalım.

1. Context menüsünü görüntülemek için hedefe sağ tıklayın.

2. Add Action > Global’i seçin. Hedefin solunda bir ok belirir.

3. XML metin görünümüne gitmek için Metin sekmesini tıklayın. Genel eylem için XML aşağıdakine benzer:

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph"
    app:startDestination="@id/blankFragment">

    <fragment
        android:id="@+id/blankFragment"
        android:name="com.etiya.jpnavigation1.BlankFragment"
        android:label="fragment_blank"
        tools:layout="@layout/fragment_blank">
        <action
            android:id="@+id/action_blankFragment_to_blankFragment2"
            app:destination="@id/navigation" />
        <action
            android:id="@+id/action_blankFragment_to_blankFragment4"
            app:destination="@id/blankFragment4" />
    </fragment>
    <fragment
        android:id="@+id/blankFragment4"
        android:name="com.etiya.jpnavigation1.BlankFragment4"
        android:label="fragment_blank_fragment4"
        tools:layout="@layout/fragment_blank_fragment4">
        <action
            android:id="@+id/action_blankFragment4_to_blankFragment5"
            app:destination="@id/blankFragment5" />
    </fragment>
    <fragment
        android:id="@+id/blankFragment5"
        android:name="com.etiya.jpnavigation1.BlankFragment5"
        android:label="fragment_blank_fragment5"
        tools:layout="@layout/fragment_blank_fragment5" />
    <navigation
        android:id="@+id/navigation"
        app:startDestination="@id/blankFragment2">
        <fragment
            android:id="@+id/blankFragment2"
            android:name="com.etiya.jpnavigation1.BlankFragment2"
            android:label="fragment_blank_fragment2"
            tools:layout="@layout/fragment_blank_fragment2">
            <action
                android:id="@+id/action_blankFragment2_to_blankFragment3"
                app:destination="@id/blankFragment3" />
        </fragment>
        <fragment
            android:id="@+id/blankFragment3"
            android:name="com.etiya.jpnavigation1.BlankFragment3"
            android:label="fragment_blank_fragment3"
            tools:layout="@layout/fragment_blank_fragment3" />
    </navigation>
    <action
        android:id="@+id/action_global_navigation"
        app:destination="@id/navigation" />
</navigation>

Yaptığımız ekleme işleminden sonra ana root içerisinde eklenen global action aşağıdaki gibi XML dosyasına eklenmiş oldu.

<action
        android:id="@+id/action_global_navigation"
        app:destination="@id/navigation" />

Context menüsünü görüntülemek için hedefe sağ tıklayın.