{"id":36944,"date":"2025-12-25T08:40:50","date_gmt":"2025-12-25T05:40:50","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36944"},"modified":"2025-12-25T08:40:50","modified_gmt":"2025-12-25T05:40:50","slug":"android-actionbar-ornegi-ve-detayli-anlatimi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/","title":{"rendered":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131<\/h2>\n<p>Android uygulamalar\u0131n\u0131n kullan\u0131c\u0131 aray\u00fcz\u00fcnde (UI) merkezi bir rol oynayan ActionBar, kullan\u0131c\u0131ya ba\u011flamsal bilgiler sunan, navigasyon sa\u011flayan ve uygulama genelindeki \u00f6nemli aksiyonlara h\u0131zl\u0131 eri\u015fim imkan\u0131 tan\u0131yan kritik bir bile\u015fendir. Zamanla evrim ge\u00e7irerek Toolbar ad\u0131n\u0131 alan bu yap\u0131, modern Android geli\u015ftiricili\u011finin vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu makalede, ActionBar&#8217;\u0131n tarihsel geli\u015fimini, temel kullan\u0131m\u0131n\u0131, \u00f6zelle\u015ftirme se\u00e7eneklerini ve ileri d\u00fczey \u00f6zelliklerini ad\u0131m ad\u0131m, \u00f6rneklerle a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<h3>ActionBar ve Toolbar: Temeller ve Evrim<\/h3>\n<p>Android platformu ilk \u00e7\u0131kt\u0131\u011f\u0131nda, uygulamalar\u0131n \u00fcst k\u0131sm\u0131nda standart bir ba\u015fl\u0131k \u00e7ubu\u011fu bulunuyordu. Ancak Android 3.0 Honeycomb ile birlikte, daha zengin ve etkile\u015fimli bir deneyim sunmak amac\u0131yla &#8220;ActionBar&#8221; tan\u0131t\u0131ld\u0131. ActionBar, uygulaman\u0131n kimli\u011fini, mevcut ekran\u0131n ba\u015fl\u0131\u011f\u0131n\u0131, navigasyon kontrollerini (geri butonu, up butonu) ve kullan\u0131c\u0131 taraf\u0131ndan ger\u00e7ekle\u015ftirilebilecek \u00f6nemli eylemleri (men\u00fc \u00f6\u011feleri) tek bir yerde toplayan bir ara\u00e7 \u00e7ubu\u011fuydu.<\/p>\n<h4>ActionBar&#8217;\u0131n Temel \u0130\u015flevleri<\/h4>\n<p>*   <strong>Uygulama Kimli\u011fi:<\/strong> Uygulama ikonu ve ba\u015fl\u0131\u011f\u0131 ile kullan\u0131c\u0131n\u0131n hangi uygulamada oldu\u011funu g\u00f6sterir.<br \/>\n*   <strong>Navigasyon:<\/strong> Geri butonu veya &#8220;up&#8221; butonu ile hiyerar\u015fik navigasyon sa\u011flar.<br \/>\n*   <strong>Aksiyon \u00d6\u011feleri:<\/strong> Kullan\u0131c\u0131n\u0131n s\u0131k\u00e7a kulland\u0131\u011f\u0131 veya o anki ba\u011flama uygun eylemleri (\u00f6rne\u011fin, kaydet, payla\u015f, ara) ikon veya metin olarak g\u00f6sterir.<br \/>\n*   <strong>Aksiyon Ta\u015fmas\u0131 (Action Overflow):<\/strong> Daha az \u00f6nemli veya daha az yer kaplamas\u0131 gereken eylemleri \u00fc\u00e7 nokta men\u00fcs\u00fc alt\u0131nda toplar.<br \/>\n*   <strong>Navigasyon Modlar\u0131:<\/strong> Sekmeler (tabs) veya a\u00e7\u0131l\u0131r liste (spinner) gibi farkl\u0131 navigasyon modlar\u0131n\u0131 desteklerdi.<\/p>\n<p>ActionBar, geli\u015ftiricilere uygulama bar\u0131n\u0131 programatik olarak kontrol etme yetene\u011fi sunarak, tutarl\u0131 bir kullan\u0131c\u0131 deneyimi olu\u015fturmalar\u0131na yard\u0131mc\u0131 oldu. Ancak, zamanla Android&#8217;in tasar\u0131m felsefesi Material Design&#8217;a do\u011fru evrildik\u00e7e, ActionBar&#8217;\u0131n baz\u0131 k\u0131s\u0131tlamalar\u0131 ortaya \u00e7\u0131kt\u0131. \u00d6zellikle esneklik ve \u00f6zelle\u015ftirme konular\u0131nda eksiklikleri vard\u0131. ActionBar, genellikle Activity&#8217;ye ba\u011fl\u0131 ve sistem taraf\u0131ndan y\u00f6netilen bir yap\u0131yd\u0131; bu da tasar\u0131m ve konumland\u0131rma \u00fczerinde tam kontrol sa\u011flamay\u0131 zorla\u015ft\u0131r\u0131yordu.<\/p>\n<h4>Toolbar&#8217;a Ge\u00e7i\u015fin Nedenleri ve Avantajlar\u0131<\/h4>\n<p>Android 5.0 Lollipop ile birlikte Material Design&#8217;\u0131n tan\u0131t\u0131lmas\u0131yla, geli\u015ftiricilere daha fazla esneklik ve kontrol sunan <code>android.support.v7.widget.Toolbar<\/code> (\u015fimdiki ad\u0131yla <code>androidx.appcompat.widget.Toolbar<\/code>) bile\u015feni kullan\u0131ma sunuldu. Toolbar, asl\u0131nda bir <code>ViewGroup<\/code>&#8216;tur, yani herhangi bir <code>View<\/code> gibi layout dosyalar\u0131na eklenebilir ve di\u011fer <code>View<\/code>&#8216;lar gibi konumland\u0131r\u0131l\u0131p \u00f6zelle\u015ftirilebilir.<\/p>\n<p>Toolbar&#8217;\u0131n ActionBar&#8217;a g\u00f6re ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Esneklik:<\/strong> Bir <code>View<\/code> oldu\u011fu i\u00e7in, ekran\u0131n herhangi bir yerine yerle\u015ftirilebilir, boyutland\u0131r\u0131labilir ve farkl\u0131 stillerle \u00f6zelle\u015ftirilebilir. Birden fazla Toolbar ayn\u0131 ekranda kullan\u0131labilir (\u00e7ok nadir durumlar i\u00e7in).<br \/>\n*   <strong>Tasar\u0131m \u00d6zg\u00fcrl\u00fc\u011f\u00fc:<\/strong> Material Design prensiplerine tam uyum sa\u011flar. Arka plan rengi, metin renkleri, ikonlar, y\u00fckseklik gibi bir\u00e7ok \u00f6zelli\u011fi kolayca de\u011fi\u015ftirilebilir.<br \/>\n*   <strong>Geriye D\u00f6n\u00fck Uyumluluk:<\/strong> <code>AppCompat<\/code> k\u00fct\u00fcphanesi sayesinde, eski Android s\u00fcr\u00fcmlerinde bile Material Design g\u00f6r\u00fcn\u00fcml\u00fc bir ara\u00e7 \u00e7ubu\u011fu deneyimi sunar.<br \/>\n*   <strong>Entegrasyon:<\/strong> <code>CoordinatorLayout<\/code> ve <code>AppBarLayout<\/code> gibi bile\u015fenlerle kolayca entegre olarak, scroll ile gizlenme, kayd\u0131r\u0131labilen sekmeler gibi geli\u015fmi\u015f UI etkile\u015fimleri olu\u015fturulabilir.<\/p>\n<p>Bu nedenlerden dolay\u0131, g\u00fcn\u00fcm\u00fczde yeni Android projelerinde <code>Toolbar<\/code> kullan\u0131lmas\u0131 \u015fiddetle tavsiye edilmektedir. <code>ActionBar<\/code> terimi hala genel bir kavram olarak kullan\u0131lsa da, teknik olarak <code>Toolbar<\/code> bile\u015fenini kastediyoruz ve bu makale de <code>Toolbar<\/code> \u00fczerine odaklanacakt\u0131r.<\/p>\n<h3>Toolbar Kullan\u0131m\u0131na Giri\u015f: Ad\u0131m Ad\u0131m Kurulum<\/h3>\n<p>Bir Android projesinde <code>Toolbar<\/code> kullanmaya ba\u015flamak olduk\u00e7a basittir. \u0130\u015fte temel ad\u0131mlar:<\/p>\n<h4>1. Proje Olu\u015fturma ve Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Kontrol Etme<\/h4>\n<p>Yeni bir Android Studio projesi ba\u015flat\u0131rken &#8220;Empty Activity&#8221; \u015fablonunu se\u00e7mek iyi bir ba\u015flang\u0131\u00e7t\u0131r. <code>Toolbar<\/code> genellikle <code>androidx.appcompat<\/code> k\u00fct\u00fcphanesinin bir par\u00e7as\u0131d\u0131r. <code>build.gradle (Module: app)<\/code> dosyan\u0131zda a\u015fa\u011f\u0131daki veya benzeri ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n bulundu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-gradle\">dependencies {\n    \/\/ ... di\u011fer ba\u011f\u0131ml\u0131l\u0131klar\n    implementation 'androidx.appcompat:appcompat:1.6.1' \/\/ G\u00fcncel s\u00fcr\u00fcm\u00fc kullan\u0131n\n    \/\/ ...\n}<\/code><\/pre>\n<p>Bu k\u00fct\u00fcphane, <code>Toolbar<\/code> dahil olmak \u00fczere Material Design bile\u015fenlerini ve geriye d\u00f6n\u00fck uyumluluk \u00f6zelliklerini sa\u011flar.<\/p>\n<h4>2. Varsay\u0131lan ActionBar&#8217;\u0131 Kald\u0131rma<\/h4>\n<p><code>Toolbar<\/code>&#8216;\u0131 kullanmak istedi\u011fimizde, sistemin varsay\u0131lan <code>ActionBar<\/code>&#8216;\u0131n\u0131n devre d\u0131\u015f\u0131 b\u0131rak\u0131lmas\u0131 gerekir. Bunu, uygulaman\u0131n temas\u0131n\u0131 <code>NoActionBar<\/code> temalar\u0131ndan birini kullanarak yapar\u0131z. <code>res\/values\/themes.xml<\/code> (veya <code>styles.xml<\/code>) dosyas\u0131n\u0131 a\u00e7\u0131n ve uygulaman\u0131z\u0131n temel temas\u0131n\u0131 a\u015fa\u011f\u0131daki gibi ayarlay\u0131n:<\/p>\n<pre><code class=\"language-xml\"><!-- res\/values\/themes.xml (veya styles.xml) -->\n<resources xmlns:tools=\"http:\/\/schemas.android.com\/tools\">\n    <!-- Base application theme. -->\n    <style name=\"Theme.MyApplication\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n        <!-- Primary brand color. -->\n        <item name=\"colorPrimary\">@color\/purple_500<\/item>\n        <item name=\"colorPrimaryVariant\">@color\/purple_700<\/item>\n        <item name=\"colorOnPrimary\">@color\/white<\/item>\n        <!-- Secondary brand color. -->\n        <item name=\"colorSecondary\">@color\/teal_200<\/item>\n        <item name=\"colorSecondaryVariant\">@color\/teal_700<\/item>\n        <item name=\"colorOnSecondary\">@color\/black<\/item>\n        <!-- Status bar color. -->\n        <item name=\"android:statusBarColor\" tools:targetApi=\"l\">?attr\/colorPrimaryVariant<\/item>\n        <!-- Customize your theme here. -->\n    <\/style>\n<\/resources><\/code><\/pre>\n<p>Burada <code>Theme.AppCompat.Light.NoActionBar<\/code> temas\u0131n\u0131 kullanarak, sistemin kendi <code>ActionBar<\/code>&#8216;\u0131n\u0131 g\u00f6stermesini engellemi\u015f oluyoruz. E\u011fer uygulaman\u0131zda dark mode deste\u011fi varsa, <code>res\/values-night\/themes.xml<\/code> dosyas\u0131nda da benzer bir de\u011fi\u015fiklik yapman\u0131z gerekebilir.<\/p>\n<h4>3. Layout Dosyas\u0131na Toolbar Ekleme<\/h4>\n<p>\u015eimdi <code>Toolbar<\/code>&#8216;\u0131, Activity&#8217;nizin layout dosyas\u0131na (\u00f6rne\u011fin <code>activity_main.xml<\/code>) ekleyebiliriz. Genellikle <code>ConstraintLayout<\/code> veya <code>LinearLayout<\/code> gibi bir ana layout&#8217;un en \u00fcst\u00fcne yerle\u015ftirilir.<\/p>\n<pre><code class=\"language-xml\"><!-- activity_main.xml -->\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.constraintlayout.widget.ConstraintLayout\n    xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".MainActivity\">\n\n    <androidx.appcompat.widget.Toolbar\n        android:id=\"@+id\/toolbar\"\n        android:layout_width=\"0dp\"\n        android:layout_height=\"?attr\/actionBarSize\"\n        android:background=\"?attr\/colorPrimary\"\n        android:elevation=\"4dp\"\n        android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\"\n        app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\"\n        app:layout_constraintEnd_toEndOf=\"parent\"\n        app:layout_constraintStart_toStartOf=\"parent\"\n        app:layout_constraintTop_toTopOf=\"parent\" \/>\n\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Merhaba D\u00fcnya!\"\n        app:layout_constraintBottom_toBottomOf=\"parent\"\n        app:layout_constraintEnd_toEndOf=\"parent\"\n        app:layout_constraintStart_toStartOf=\"parent\"\n        app:layout_constraintTop_toBottomOf=\"@+id\/toolbar\" \/>\n\n<\/androidx.constraintlayout.widget.ConstraintLayout><\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte dikkat etmeniz gereken baz\u0131 \u00f6nemli \u00f6zellikler:<\/p>\n<p>*   <code>android:id=\"@+id\/toolbar\"<\/code>: Toolbar&#8217;a kod taraf\u0131nda eri\u015fmek i\u00e7in bir ID tan\u0131mlar.<br \/>\n*   <code>android:layout_height=\"?attr\/actionBarSize\"<\/code>: Toolbar&#8217;\u0131n y\u00fcksekli\u011fini standart <code>ActionBar<\/code> y\u00fcksekli\u011fine ayarlar. Bu, cihazlar aras\u0131nda tutarl\u0131 bir g\u00f6r\u00fcn\u00fcm sa\u011flar.<br \/>\n*   <code>android:background=\"?attr\/colorPrimary\"<\/code>: Toolbar&#8217;\u0131n arka plan rengini uygulaman\u0131n ana renk paletinden al\u0131r.<br \/>\n*   <code>android:elevation=\"4dp\"<\/code>: Toolbar&#8217;a g\u00f6lge efekti ekleyerek Material Design derinlik hiyerar\u015fisini sa\u011flar.<br \/>\n*   <code>android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\"<\/code>: Toolbar i\u00e7indeki \u00f6\u011felerin (ba\u015fl\u0131k, men\u00fc ikonlar\u0131 vb.) renklerini ayarlar. <code>Dark.ActionBar<\/code> temas\u0131, arka plan koyu oldu\u011funda metin ve ikonlar\u0131n a\u00e7\u0131k renkli olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\"<\/code>: A\u00e7\u0131l\u0131r men\u00fclerin (\u00f6rne\u011fin, aksiyon ta\u015fmas\u0131 men\u00fcs\u00fc) stilini belirler. Genellikle arka plan a\u00e7\u0131k renkli olan bir tema kullan\u0131l\u0131r.<\/p>\n<h4>4. Activity S\u0131n\u0131f\u0131nda Toolbar&#8217;\u0131 Ayarlama<\/h4>\n<p>Son ad\u0131m olarak, <code>Activity<\/code> s\u0131n\u0131f\u0131n\u0131zda (\u00f6rne\u011fin <code>MainActivity.java<\/code> veya <code>MainActivity.kt<\/code>) <code>Toolbar<\/code>&#8216;\u0131 &#8220;support <code>ActionBar<\/code>&#8221; olarak ayarlaman\u0131z gerekir. Bu, <code>Toolbar<\/code>&#8216;\u0131n sistem <code>ActionBar<\/code>&#8216;\u0131 gibi davranmas\u0131n\u0131 ve men\u00fc \u015fi\u015firme, navigasyon olaylar\u0131 gibi \u00f6zelliklerini kullanabilmenizi sa\u011flar.<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java\npackage com.example.myapplication;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.widget.Toolbar; \/\/ Toolbar s\u0131n\u0131f\u0131n\u0131 import etmeyi unutmay\u0131n\n\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.widget.Toast;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        Toolbar toolbar = findViewById(R.id.toolbar);\n        setSupportActionBar(toolbar); \/\/ Toolbar'\u0131 ActionBar olarak ayarla\n\n        \/\/ Ba\u015fl\u0131k ve alt ba\u015fl\u0131k ayarlama (iste\u011fe ba\u011fl\u0131)\n        getSupportActionBar().setTitle(\"Uygulama Ba\u015fl\u0131\u011f\u0131\");\n        getSupportActionBar().setSubtitle(\"Alt Ba\u015fl\u0131k\");\n    }\n\n    \/\/ Men\u00fc \u00f6\u011felerini \u015fi\u015firmek i\u00e7in\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        getMenuInflater().inflate(R.menu.menu_main, menu); \/\/ menu_main.xml dosyas\u0131n\u0131 \u015fi\u015fir\n        return true;\n    }\n\n    \/\/ Men\u00fc \u00f6\u011felerine t\u0131klama olaylar\u0131n\u0131 i\u015flemek i\u00e7in\n    @Override\n    public boolean onOptionsItemSelected(MenuItem item) {\n        int id = item.getItemId();\n\n        if (id == R.id.action_settings) {\n            Toast.makeText(this, \"Ayarlar se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n            return true;\n        }\n        if (id == R.id.action_search) {\n            Toast.makeText(this, \"Arama se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n            return true;\n        }\n\n        return super.onOptionsItemSelected(item);\n    }\n}<\/code><\/pre>\n<p>Kotlin kullananlar i\u00e7in:<\/p>\n<pre><code class=\"language-kotlin\">\/\/ MainActivity.kt\npackage com.example.myapplication\n\nimport androidx.appcompat.app.AppCompatActivity\nimport androidx.appcompat.widget.Toolbar\nimport android.os.Bundle\nimport android.view.Menu\nimport android.view.MenuItem\nimport android.widget.Toast\n\nclass MainActivity : AppCompatActivity() {\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        val toolbar: Toolbar = findViewById(R.id.toolbar)\n        setSupportActionBar(toolbar)\n\n        supportActionBar?.apply {\n            title = \"Uygulama Ba\u015fl\u0131\u011f\u0131\"\n            subtitle = \"Alt Ba\u015fl\u0131k\"\n        }\n    }\n\n    override fun onCreateOptionsMenu(menu: Menu?): Boolean {\n        menuInflater.inflate(R.menu.menu_main, menu)\n        return true\n    }\n\n    override fun onOptionsItemSelected(item: MenuItem): Boolean {\n        return when (item.itemId) {\n            R.id.action_settings -> {\n                Toast.makeText(this, \"Ayarlar se\u00e7ildi!\", Toast.LENGTH_SHORT).show()\n                true\n            }\n            R.id.action_search -> {\n                Toast.makeText(this, \"Arama se\u00e7ildi!\", Toast.LENGTH_SHORT).show()\n                true\n            }\n            else -> super.onOptionsItemSelected(item)\n        }\n    }\n}<\/code><\/pre>\n<p>Bu ad\u0131mlarla, uygulaman\u0131zda temel bir <code>Toolbar<\/code> kurulumunu tamamlam\u0131\u015f olursunuz. <code>setSupportActionBar(toolbar)<\/code> \u00e7a\u011fr\u0131s\u0131, Activity&#8217;nin <code>getSupportActionBar()<\/code> metodunu kullanarak <code>Toolbar<\/code>&#8216;a eri\u015fmenizi ve onun \u00fczerinde <code>ActionBar<\/code> benzeri i\u015flemleri yapman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Temel \u00d6zelliklerin \u00d6zelle\u015ftirilmesi<\/h3>\n<p><code>Toolbar<\/code>&#8216;\u0131 <code>setSupportActionBar()<\/code> ile ayarlad\u0131ktan sonra, <code>getSupportActionBar()<\/code> metodu arac\u0131l\u0131\u011f\u0131yla bir\u00e7ok \u00f6zelli\u011fini kontrol edebilirsiniz.<\/p>\n<h4>Ba\u015fl\u0131k ve Alt Ba\u015fl\u0131k Ayarlama<\/h4>\n<p>Yukar\u0131daki \u00f6rnekte g\u00f6sterildi\u011fi gibi, <code>getSupportActionBar().setTitle(\"...\")<\/code> ve <code>getSupportActionBar().setSubtitle(\"...\")<\/code> metotlar\u0131yla <code>Toolbar<\/code>&#8216;\u0131n ba\u015fl\u0131k ve alt ba\u015fl\u0131\u011f\u0131n\u0131 kolayca ayarlayabilirsiniz. Bu ba\u015fl\u0131klar, Activity&#8217;nin manifest dosyas\u0131ndaki <code>android:label<\/code> \u00f6zelli\u011fini ge\u00e7ersiz k\u0131lar.<\/p>\n<h4>Navigasyon \u0130konu Ekleme (Geri Butonu\/Men\u00fc \u0130konu)<\/h4>\n<p>\u00c7o\u011fu uygulamada, <code>Toolbar<\/code>&#8216;\u0131n sol taraf\u0131nda bir navigasyon ikonu bulunur. Bu, genellikle bir geri butonu (\u00f6nceki ekrana d\u00f6nmek i\u00e7in) veya bir hamburger men\u00fc ikonu (navigasyon \u00e7ekmecesini a\u00e7mak i\u00e7in) olabilir.<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java i\u00e7inde onCreate metodunda\ngetSupportActionBar().setDisplayHomeAsUpEnabled(true); \/\/ Geri butonu\/navigasyon ikonu g\u00f6ster\ngetSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu); \/\/ \u0130ste\u011fe ba\u011fl\u0131: \u00f6zel bir ikon ayarla<\/code><\/pre>\n<p>Kotlin i\u00e7in:<\/p>\n<pre><code class=\"language-kotlin\">\/\/ MainActivity.kt i\u00e7inde onCreate metodunda\nsupportActionBar?.apply {\n    setDisplayHomeAsUpEnabled(true)\n    setHomeAsUpIndicator(R.drawable.ic_menu) \/\/ ic_menu, drawable klas\u00f6r\u00fcn\u00fczde olmal\u0131\n}<\/code><\/pre>\n<p><code>setDisplayHomeAsUpEnabled(true)<\/code> \u00e7a\u011fr\u0131s\u0131, <code>Toolbar<\/code>&#8216;\u0131n soluna bir ok ikonu ekler. E\u011fer <code>setHomeAsUpIndicator()<\/code> ile \u00f6zel bir ikon (\u00f6rne\u011fin, bir hamburger men\u00fc ikonu) belirtmezseniz, varsay\u0131lan geri oku g\u00f6sterilir.<\/p>\n<h4>\u0130kon T\u0131klama Olaylar\u0131n\u0131 Yakalama<\/h4>\n<p>Navigasyon ikonuna t\u0131klama olay\u0131n\u0131 yakalamak i\u00e7in <code>onOptionsItemSelected<\/code> metodunu kullan\u0131r\u0131z. Navigasyon ikonunun ID&#8217;si <code>android.R.id.home<\/code>&#8216;dur.<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java i\u00e7inde onOptionsItemSelected metodunda\n@Override\npublic boolean onOptionsItemSelected(MenuItem item) {\n    int id = item.getItemId();\n\n    if (id == android.R.id.home) {\n        \/\/ Navigasyon ikonuna t\u0131kland\u0131\u011f\u0131nda yap\u0131lacak i\u015flemler\n        Toast.makeText(this, \"Navigasyon ikonuna t\u0131kland\u0131!\", Toast.LENGTH_SHORT).show();\n        \/\/ \u00d6rne\u011fin, geri gitmek i\u00e7in:\n        \/\/ onBackPressed();\n        \/\/ Veya bir navigasyon \u00e7ekmecesini a\u00e7mak i\u00e7in:\n        \/\/ drawerLayout.openDrawer(GravityCompat.START);\n        return true;\n    }\n    \/\/ ... di\u011fer men\u00fc \u00f6\u011feleri\n    return super.onOptionsItemSelected(item);\n}<\/code><\/pre>\n<p>Kotlin i\u00e7in:<\/p>\n<pre><code class=\"language-kotlin\">\/\/ MainActivity.kt i\u00e7inde onOptionsItemSelected metodunda\noverride fun onOptionsItemSelected(item: MenuItem): Boolean {\n    return when (item.itemId) {\n        android.R.id.home -> {\n            Toast.makeText(this, \"Navigasyon ikonuna t\u0131kland\u0131!\", Toast.LENGTH_SHORT).show()\n            true\n        }\n        \/\/ ... di\u011fer men\u00fc \u00f6\u011feleri\n        else -> super.onOptionsItemSelected(item)\n    }\n}<\/code><\/pre>\n<p>Bu sayede, kullan\u0131c\u0131 navigasyon ikonuna t\u0131klad\u0131\u011f\u0131nda istedi\u011finiz eylemi ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<h3>Men\u00fc \u00d6\u011feleri ve Aksiyonlar<\/h3>\n<p><code>Toolbar<\/code>&#8216;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, kullan\u0131c\u0131ya \u00e7e\u015fitli aksiyonlar sunabilmesidir. Bu aksiyonlar, men\u00fc \u00f6\u011feleri arac\u0131l\u0131\u011f\u0131yla <code>Toolbar<\/code> \u00fczerinde veya bir ta\u015fma men\u00fcs\u00fc alt\u0131nda g\u00f6sterilir.<\/p>\n<h4>1. Men\u00fc XML Dosyas\u0131 Olu\u015fturma<\/h4>\n<p><code>res\/menu<\/code> dizini alt\u0131nda yeni bir XML dosyas\u0131 olu\u015fturun (\u00f6rne\u011fin, <code>menu_main.xml<\/code>). Bu dosya, <code>Toolbar<\/code>&#8216;da g\u00f6sterilecek men\u00fc \u00f6\u011felerini tan\u0131mlar.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/menu\/menu_main.xml -->\n<menu xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\">\n\n    <item\n        android:id=\"@+id\/action_search\"\n        android:icon=\"@android:drawable\/ic_menu_search\"\n        android:title=\"Ara\"\n        app:showAsAction=\"ifRoom\" \/>\n\n    <item\n        android:id=\"@+id\/action_share\"\n        android:icon=\"@android:drawable\/ic_menu_share\"\n        android:title=\"Payla\u015f\"\n        app:showAsAction=\"ifRoom\" \/>\n\n    <item\n        android:id=\"@+id\/action_settings\"\n        android:title=\"Ayarlar\"\n        app:showAsAction=\"never\" \/>\n\n    <item\n        android:id=\"@+id\/action_about\"\n        android:title=\"Hakk\u0131nda\"\n        app:showAsAction=\"never\" \/>\n\n<\/menu><\/code><\/pre>\n<p>Men\u00fc \u00f6\u011felerinin \u00f6zellikleri:<\/p>\n<p>*   <code>android:id<\/code>: Men\u00fc \u00f6\u011fesine benzersiz bir ID verir.<br \/>\n*   <code>android:icon<\/code>: Men\u00fc \u00f6\u011fesi i\u00e7in bir ikon belirler (yaln\u0131zca <code>showAsAction<\/code> <code>ifRoom<\/code> veya <code>always<\/code> oldu\u011funda g\u00f6sterilir).<br \/>\n*   <code>android:title<\/code>: Men\u00fc \u00f6\u011fesinin metin ba\u015fl\u0131\u011f\u0131d\u0131r.<br \/>\n*   <code>app:showAsAction<\/code>: Bu \u00f6zellik, men\u00fc \u00f6\u011fesinin <code>Toolbar<\/code> \u00fczerinde nas\u0131l davranaca\u011f\u0131n\u0131 belirler:<br \/>\n    *   <code>never<\/code>: \u00d6\u011feyi her zaman ta\u015fma men\u00fcs\u00fcnde (\u00fc\u00e7 nokta ikonu) g\u00f6sterir.<br \/>\n    *   <code>ifRoom<\/code>: Yeterli yer varsa <code>Toolbar<\/code> \u00fczerinde, yoksa ta\u015fma men\u00fcs\u00fcnde g\u00f6sterir.<br \/>\n    *   <code>always<\/code>: M\u00fcmk\u00fcnse her zaman <code>Toolbar<\/code> \u00fczerinde g\u00f6sterir.<br \/>\n    *   <code>withText<\/code>: \u0130konun yan\u0131nda metin ba\u015fl\u0131\u011f\u0131n\u0131 da g\u00f6sterir (nadiren kullan\u0131l\u0131r).<\/p>\n<h4>2. Men\u00fcy\u00fc \u015ei\u015firme (Inflate Etme)<\/h4>\n<p><code>Activity<\/code>&#8216;nizin <code>onCreateOptionsMenu()<\/code> metodunda, olu\u015fturdu\u011funuz men\u00fc XML dosyas\u0131n\u0131 <code>Toolbar<\/code>&#8216;a \u015fi\u015firmeniz gerekir.<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java\n@Override\npublic boolean onCreateOptionsMenu(Menu menu) {\n    getMenuInflater().inflate(R.menu.menu_main, menu);\n    return true; \/\/ Men\u00fcn\u00fcn g\u00f6sterilmesi gerekti\u011fini belirtir\n}<\/code><\/pre>\n<p>Bu metod \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda, <code>menu_main.xml<\/code> dosyas\u0131ndaki \u00f6\u011feler <code>Toolbar<\/code>&#8216;a eklenir.<\/p>\n<h4>3. Men\u00fc \u00d6\u011felerine T\u0131klama Olaylar\u0131n\u0131 Y\u00f6netme<\/h4>\n<p>Kullan\u0131c\u0131 bir men\u00fc \u00f6\u011fesine t\u0131klad\u0131\u011f\u0131nda, <code>onOptionsItemSelected()<\/code> metodu \u00e7a\u011fr\u0131l\u0131r. Bu metotta, t\u0131klanan \u00f6\u011fenin ID&#8217;sini kontrol ederek ilgili eylemi ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java\n@Override\npublic boolean onOptionsItemSelected(MenuItem item) {\n    int id = item.getItemId();\n\n    if (id == R.id.action_search) {\n        Toast.makeText(this, \"Arama men\u00fcs\u00fc se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n        return true;\n    } else if (id == R.id.action_share) {\n        Toast.makeText(this, \"Payla\u015f men\u00fcs\u00fc se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n        return true;\n    } else if (id == R.id.action_settings) {\n        Toast.makeText(this, \"Ayarlar men\u00fcs\u00fc se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n        return true;\n    } else if (id == R.id.action_about) {\n        Toast.makeText(this, \"Hakk\u0131nda men\u00fcs\u00fc se\u00e7ildi!\", Toast.LENGTH_SHORT).show();\n        return true;\n    }\n\n    return super.onOptionsItemSelected(item); \/\/ Di\u011fer olaylar\u0131 \u00fcst s\u0131n\u0131fa b\u0131rak\n}<\/code><\/pre>\n<h4>Aksiyon G\u00f6r\u00fcn\u00fcmleri (Action Views) ve Aksiyon Sa\u011flay\u0131c\u0131lar\u0131 (Action Providers)<\/h4>\n<p>Baz\u0131 men\u00fc \u00f6\u011feleri sadece bir ikon veya metin olmakla kalmaz, ayn\u0131 zamanda <code>Toolbar<\/code> i\u00e7inde etkile\u015fimli bir <code>View<\/code> de bar\u0131nd\u0131rabilir. Buna &#8220;Aksiyon G\u00f6r\u00fcn\u00fcm\u00fc&#8221; denir. En yayg\u0131n \u00f6rneklerden biri arama \u00e7ubu\u011fudur.<\/p>\n<p>Bir arama \u00e7ubu\u011fu eklemek i\u00e7in:<\/p>\n<p>1.  <strong>Men\u00fc XML&#8217;inde <code>actionViewClass<\/code> veya <code>actionLayout<\/code> kullan\u0131n:<\/strong><\/p>\n<pre><code class=\"language-xml\"><item\n        android:id=\"@+id\/action_search_view\"\n        android:title=\"Ara\"\n        android:icon=\"@android:drawable\/ic_menu_search\"\n        app:showAsAction=\"collapseActionView|ifRoom\"\n        app:actionViewClass=\"androidx.appcompat.widget.SearchView\" \/><\/code><\/pre>\n<p>    <code>collapseActionView<\/code> bayra\u011f\u0131, arama \u00e7ubu\u011funun varsay\u0131lan olarak daralt\u0131lm\u0131\u015f bir ikon olarak g\u00f6r\u00fcnmesini ve t\u0131kland\u0131\u011f\u0131nda geni\u015flemesini sa\u011flar.<\/p>\n<p>2.  <strong><code>onCreateOptionsMenu<\/code> metodunda <code>SearchView<\/code>&#8216;\u0131 yap\u0131land\u0131r\u0131n:<\/strong><\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        getMenuInflater().inflate(R.menu.menu_main, menu);\n\n        MenuItem searchItem = menu.findItem(R.id.action_search_view);\n        SearchView searchView = (SearchView) searchItem.getActionView();\n\n        searchView.setQueryHint(\"Arama yap\u0131n...\");\n        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {\n            @Override\n            public boolean onQueryTextSubmit(String query) {\n                Toast.makeText(MainActivity.this, \"Aranan: \" + query, Toast.LENGTH_SHORT).show();\n                searchView.clearFocus(); \/\/ Klavyeyi kapat\n                searchItem.collapseActionView(); \/\/ Arama \u00e7ubu\u011funu daralt\n                return true;\n            }\n\n            @Override\n            public boolean onQueryTextChange(String newText) {\n                \/\/ Arama metni de\u011fi\u015ftik\u00e7e yap\u0131lacak i\u015flemler\n                return false;\n            }\n        });\n\n        return true;\n    }<\/code><\/pre>\n<p>Bu, <code>Toolbar<\/code>&#8216;\u0131n\u0131za tam i\u015flevsel bir arama \u00e7ubu\u011fu eklemenin temel yoludur. <code>SearchView<\/code>&#8216;\u0131n geni\u015flemesi ve daralmas\u0131 gibi olaylar\u0131 da dinleyebilir ve buna g\u00f6re UI&#8217;n\u0131z\u0131 g\u00fcncelleyebilirsiniz.<\/p>\n<h3>Toolbar&#8217;\u0131n G\u00f6rsel \u00d6zelle\u015ftirmesi<\/h3>\n<p><code>Toolbar<\/code>&#8216;\u0131n g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc uygulaman\u0131z\u0131n markas\u0131na veya genel tasar\u0131m\u0131na uyacak \u015fekilde \u00f6zelle\u015ftirmek olduk\u00e7a kolayd\u0131r.<\/p>\n<h4>Renkler<\/h4>\n<p>*   <strong>Arka Plan Rengi:<\/strong> <code>android:background<\/code> \u00f6zelli\u011fi ile <code>Toolbar<\/code>&#8216;\u0131n arka plan rengini ayarlayabilirsiniz. Genellikle <code>?attr\/colorPrimary<\/code> kullan\u0131l\u0131r.<br \/>\n*   <strong>Ba\u015fl\u0131k ve Alt Ba\u015fl\u0131k Metin Renkleri:<\/strong> <code>Toolbar<\/code>&#8216;\u0131n <code>android:theme<\/code> \u00f6zelli\u011fi ile ayarlan\u0131r. <code>ThemeOverlay.AppCompat.Dark.ActionBar<\/code> temas\u0131, ba\u015fl\u0131k ve men\u00fc ikonlar\u0131n\u0131 a\u00e7\u0131k renkte yapar (koyu arka plan i\u00e7in). <code>ThemeOverlay.AppCompat.Light.ActionBar<\/code> ise koyu renkli metin ve ikonlar kullan\u0131r (a\u00e7\u0131k arka plan i\u00e7in).<br \/>\n*   <strong>A\u00e7\u0131l\u0131r Men\u00fc Renkleri:<\/strong> <code>app:popupTheme<\/code> \u00f6zelli\u011fi ile ta\u015fma men\u00fcs\u00fc ve di\u011fer a\u00e7\u0131l\u0131r men\u00fclerin temas\u0131n\u0131 belirlersiniz. Genellikle <code>ThemeOverlay.AppCompat.Light<\/code> kullan\u0131l\u0131r.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-xml\"><androidx.appcompat.widget.Toolbar\n    android:id=\"@+id\/toolbar\"\n    android:layout_width=\"0dp\"\n    android:layout_height=\"?attr\/actionBarSize\"\n    android:background=\"#FF5722\" <!-- \u00d6zel bir renk -->\n    android:elevation=\"4dp\"\n    android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\"\n    app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\"\n    app:titleTextColor=\"#FFFFFF\" <!-- Ba\u015fl\u0131k metin rengini do\u011frudan ayarla -->\n    app:subtitleTextColor=\"#CCCCCC\" <!-- Alt ba\u015fl\u0131k metin rengini do\u011frudan ayarla -->\n    app:layout_constraintEnd_toEndOf=\"parent\"\n    app:layout_constraintStart_toStartOf=\"parent\"\n    app:layout_constraintTop_toTopOf=\"parent\" \/><\/code><\/pre>\n<p><code>app:titleTextColor<\/code> ve <code>app:subtitleTextColor<\/code> ile ba\u015fl\u0131k ve alt ba\u015fl\u0131k metinlerinin renklerini do\u011frudan ayarlayabilirsiniz.<\/p>\n<h4>Y\u00fckseklik ve Boyutland\u0131rma<\/h4>\n<p><code>Toolbar<\/code>&#8216;\u0131n y\u00fcksekli\u011fi genellikle <code>?attr\/actionBarSize<\/code> olarak ayarlan\u0131r, bu da cihazlar aras\u0131nda tutarl\u0131 bir y\u00fckseklik sa\u011flar. Ancak, ihtiya\u00e7 duyarsan\u0131z \u00f6zel bir <code>dp<\/code> de\u011feri de verebilirsiniz: <code>android:layout_height=\"64dp\"<\/code>.<\/p>\n<h4>Fontlar ve Metin Stilleri<\/h4>\n<p>Ba\u015fl\u0131k ve alt ba\u015fl\u0131k i\u00e7in \u00f6zel fontlar veya metin stilleri kullanmak isterseniz, <code>Toolbar<\/code>&#8216;\u0131n kendisinde veya temas\u0131nda bu ayarlar\u0131 yapabilirsiniz.<\/p>\n<pre><code class=\"language-xml\"><!-- styles.xml i\u00e7inde -->\n<style name=\"ToolbarTitleStyle\" parent=\"TextAppearance.AppCompat.Widget.ActionBar.Title\">\n    <item name=\"android:fontFamily\">@font\/my_custom_font<\/item>\n    <item name=\"android:textSize\">20sp<\/item>\n    <item name=\"android:textColor\">#FFFFFF<\/item>\n<\/style>\n\n<style name=\"ToolbarSubtitleStyle\" parent=\"TextAppearance.AppCompat.Widget.ActionBar.Subtitle\">\n    <item name=\"android:fontFamily\">@font\/my_custom_font_light<\/item>\n    <item name=\"android:textSize\">14sp<\/item>\n    <item name=\"android:textColor\">#CCCCCC<\/item>\n<\/style><\/code><\/pre>\n<p>Ve <code>Toolbar<\/code> tan\u0131m\u0131nda bunlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-xml\"><androidx.appcompat.widget.Toolbar\n    app:titleTextAppearance=\"@style\/ToolbarTitleStyle\"\n    app:subtitleTextAppearance=\"@style\/ToolbarSubtitleStyle\"\n    ...><\/code><\/pre>\n<p><code>@font\/my_custom_font<\/code> kullanabilmek i\u00e7in font dosyan\u0131z\u0131 <code>res\/font<\/code> dizinine eklemeniz ve Android 8.0 (API 26) ve \u00fczeri i\u00e7in do\u011frudan fontlar\u0131 kullanman\u0131z veya <code>AppCompat<\/code>&#8216;\u0131n font deste\u011fini kullanman\u0131z gerekir.<\/p>\n<h3>Geli\u015fmi\u015f Kullan\u0131m Senaryolar\u0131<\/h3>\n<p><code>Toolbar<\/code>, basit bir ara\u00e7 \u00e7ubu\u011fundan \u00e7ok daha fazlas\u0131n\u0131 yapabilir. \u0130\u015fte baz\u0131 geli\u015fmi\u015f kullan\u0131m senaryolar\u0131:<\/p>\n<h4>Scroll ile Gizlenen Toolbar (CoordinatorLayout ve AppBarLayout)<\/h4>\n<p>Material Design&#8217;\u0131n pop\u00fcler etkile\u015fimlerinden biri, kullan\u0131c\u0131 a\u015fa\u011f\u0131 kayd\u0131rd\u0131\u011f\u0131nda <code>Toolbar<\/code>&#8216;\u0131n ekran\u0131n d\u0131\u015f\u0131na kaybolmas\u0131 ve yukar\u0131 kayd\u0131rd\u0131\u011f\u0131nda tekrar g\u00f6r\u00fcnmesidir. Bu efekti elde etmek i\u00e7in <code>CoordinatorLayout<\/code> ve <code>AppBarLayout<\/code> kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-xml\"><!-- activity_main.xml -->\n<androidx.coordinatorlayout.widget.CoordinatorLayout\n    xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".MainActivity\">\n\n    <com.google.android.material.appbar.AppBarLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\">\n\n        <androidx.appcompat.widget.Toolbar\n            android:id=\"@+id\/toolbar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"?attr\/actionBarSize\"\n            android:background=\"?attr\/colorPrimary\"\n            app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\"\n            app:layout_scrollFlags=\"scroll|enterAlways\" \/> <!-- \u00d6nemli k\u0131s\u0131m -->\n\n    <\/com.google.android.material.appbar.AppBarLayout>\n\n    <androidx.core.widget.NestedScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        app:layout_behavior=\"@string\/appbar_scrolling_view_behavior\">\n\n        <!-- \u0130\u00e7eri\u011finiz buraya gelecek, \u00f6rne\u011fin uzun bir TextView -->\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:padding=\"16dp\"\n            android:text=\"@string\/long_text_content\" \/>\n\n    <\/androidx.core.widget.NestedScrollView>\n\n<\/androidx.coordinatorlayout.widget.CoordinatorLayout><\/code><\/pre>\n<p>Burada <code>AppBarLayout<\/code> i\u00e7indeki <code>Toolbar<\/code>&#8216;a <code>app:layout_scrollFlags=\"scroll|enterAlways\"<\/code> \u00f6zelli\u011fi eklenir. <code>NestedScrollView<\/code> (veya <code>RecyclerView<\/code> gibi scroll edilebilir herhangi bir <code>View<\/code>) <code>app:layout_behavior=\"@string\/appbar_scrolling_view_behavior\"<\/code> ile <code>AppBarLayout<\/code>&#8216;a ba\u011flan\u0131r. Bu sayede, scroll olaylar\u0131 <code>AppBarLayout<\/code> taraf\u0131ndan dinlenir ve <code>Toolbar<\/code>&#8216;\u0131n kayd\u0131r\u0131lma davran\u0131\u015f\u0131 tetiklenir.<\/p>\n<h4>Contextual Action Bar (CAB) &#8211; Ba\u011flamsal Aksiyon \u00c7ubu\u011fu<\/h4>\n<p>Kullan\u0131c\u0131 bir listedeki \u00f6\u011felere uzun bast\u0131\u011f\u0131nda veya birden fazla \u00f6\u011fe se\u00e7ti\u011finde, <code>Toolbar<\/code>&#8216;\u0131n yerini alarak se\u00e7ime \u00f6zel aksiyonlar sunan ge\u00e7ici bir ara\u00e7 \u00e7ubu\u011funa &#8220;Contextual Action Bar&#8221; (CAB) denir.<\/p>\n<p>CAB&#8217;\u0131 ba\u015flatmak i\u00e7in <code>startSupportActionMode()<\/code> metodunu kullan\u0131r\u0131z ve bir <code>ActionMode.Callback<\/code> implementasyonu sa\u011flar\u0131z:<\/p>\n<pre><code class=\"language-java\">\/\/ MainActivity.java\npublic class MainActivity extends AppCompatActivity {\n    private ActionMode mActionMode;\n\n    \/\/ ... onCreate, onCreateOptionsMenu, onOptionsItemSelected metotlar\u0131 ...\n\n    \/\/ Bir \u00f6\u011feye uzun bas\u0131ld\u0131\u011f\u0131nda \u00e7a\u011fr\u0131lacak \u00f6rnek metod\n    public void onItemLongClick(View view, int position) {\n        if (mActionMode != null) {\n            return;\n        }\n\n        \/\/ CAB'\u0131 ba\u015flat\n        mActionMode = startSupportActionMode(mActionModeCallback);\n        view.setSelected(true); \/\/ Se\u00e7ili \u00f6\u011feyi vurgula\n        \/\/ CAB ba\u015fl\u0131\u011f\u0131n\u0131 ayarla\n        mActionMode.setTitle(\"1 \u00f6\u011fe se\u00e7ildi\");\n    }\n\n    private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {\n        @Override\n        public boolean onCreateActionMode(ActionMode mode, Menu menu) {\n            \/\/ CAB men\u00fcs\u00fcn\u00fc \u015fi\u015fir\n            mode.getMenuInflater().inflate(R.menu.context_menu, menu);\n            return true;\n        }\n\n        @Override\n        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {\n            \/\/ CAB g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc g\u00fcncelle (\u00f6rne\u011fin, se\u00e7ili \u00f6\u011fe say\u0131s\u0131 de\u011fi\u015fti\u011finde)\n            return false; \/\/ Bir de\u011fi\u015fiklik yap\u0131lmad\u0131ysa false d\u00f6nd\u00fcr\n        }\n\n        @Override\n        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {\n            \/\/ CAB men\u00fc \u00f6\u011fesine t\u0131kland\u0131\u011f\u0131nda\n            int id = item.getItemId();\n            if (id == R.id.action_delete) {\n                Toast.makeText(MainActivity.this, \"\u00d6\u011feler silindi!\", Toast.LENGTH_SHORT).show();\n                mode.finish(); \/\/ CAB'\u0131 kapat\n                return true;\n            } else if (id == R.id.action_edit) {\n                Toast.makeText(MainActivity.this, \"\u00d6\u011fe d\u00fczenlendi!\", Toast.LENGTH_SHORT).show();\n                mode.finish();\n                return true;\n            }\n            return false;\n        }\n\n        @Override\n        public void onDestroyActionMode(ActionMode mode) {\n            \/\/ CAB kapat\u0131ld\u0131\u011f\u0131nda\n            mActionMode = null;\n            \/\/ Se\u00e7ili \u00f6\u011felerin vurgusunu kald\u0131r\n        }\n    };\n}<\/code><\/pre>\n<p><code>res\/menu\/context_menu.xml<\/code> dosyas\u0131 da CAB i\u00e7in \u00f6zel men\u00fc \u00f6\u011felerini i\u00e7erecektir.<\/p>\n<h4>Sekmeler (TabLayout ile Entegrasyon)<\/h4>\n<p><code>Toolbar<\/code>&#8216;\u0131n alt\u0131na sekmeler eklemek i\u00e7in <code>TabLayout<\/code> bile\u015feni kullan\u0131l\u0131r. <code>TabLayout<\/code> da <code>AppBarLayout<\/code> i\u00e7ine yerle\u015ftirilerek <code>Toolbar<\/code> ile birlikte kayd\u0131r\u0131labilen bir yap\u0131 olu\u015fturulabilir.<\/p>\n<pre><code class=\"language-xml\"><com.google.android.material.appbar.AppBarLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:theme=\"@style\/ThemeOverlay.AppCompat.Dark.ActionBar\">\n\n    <androidx.appcompat.widget.Toolbar\n        android:id=\"@+id\/toolbar\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"?attr\/actionBarSize\"\n        android:background=\"?attr\/colorPrimary\"\n        app:popupTheme=\"@style\/ThemeOverlay.AppCompat.Light\" \/>\n\n    <com.google.android.material.tabs.TabLayout\n        android:id=\"@+id\/tab_layout\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"?attr\/colorPrimary\"\n        app:tabTextColor=\"#CCCCCC\"\n        app:tabSelectedTextColor=\"#FFFFFF\"\n        app:tabIndicatorColor=\"#FFFFFF\"\n        app:tabMode=\"fixed\" \/>\n\n<\/com.google.android.material.appbar.AppBarLayout><\/code><\/pre>\n<p><code>Activity<\/code> i\u00e7inde <code>TabLayout<\/code>&#8216;\u0131 bir <code>ViewPager2<\/code> ile ba\u011flayarak sekmeler aras\u0131 ge\u00e7i\u015fi sa\u011flayabilirsiniz.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p><code>Toolbar<\/code> ile \u00e7al\u0131\u015f\u0131rken baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015f\u0131labilir:<\/p>\n<p>*   <strong><code>Toolbar<\/code> g\u00f6r\u00fcnm\u00fcyor veya varsay\u0131lan <code>ActionBar<\/code> hala duruyor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>styles.xml<\/code> dosyas\u0131nda uygulaman\u0131z\u0131n temas\u0131n\u0131n <code>Theme.AppCompat.Light.NoActionBar<\/code> (veya benzeri bir <code>NoActionBar<\/code> temas\u0131) oldu\u011fundan emin olun. Ayr\u0131ca, <code>AndroidManifest.xml<\/code> dosyas\u0131nda <code>application<\/code> veya belirli bir <code>activity<\/code> i\u00e7in <code>android:theme<\/code> \u00f6zelli\u011finin do\u011fru temay\u0131 i\u015faret etti\u011fini kontrol edin.<br \/>\n*   <strong>Men\u00fc \u00f6\u011feleri g\u00f6sterilmiyor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>onCreateOptionsMenu()<\/code> metodunun <code>Activity<\/code>&#8216;nizde do\u011fru \u015fekilde override edildi\u011finden ve <code>getMenuInflater().inflate(R.menu.your_menu, menu);<\/code> \u00e7a\u011fr\u0131s\u0131n\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olun. Ayr\u0131ca, metodun <code>return true;<\/code> d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc kontrol edin.<br \/>\n*   <strong><code>NullPointerException<\/code> <code>getSupportActionBar()<\/code> \u00e7a\u011fr\u0131s\u0131nda:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>setSupportActionBar(toolbar);<\/code> \u00e7a\u011fr\u0131s\u0131n\u0131 <code>onCreate()<\/code> metodunda, <code>toolbar<\/code> referans\u0131 atanmadan \u00f6nce yapmad\u0131\u011f\u0131n\u0131zdan emin olun. <code>toolbar = findViewById(R.id.toolbar);<\/code> sat\u0131r\u0131 <code>setSupportActionBar()<\/code>&#8216;dan \u00f6nce gelmelidir.<br \/>\n*   <strong><code>Toolbar<\/code> i\u00e7indeki ikonlar\/metinler g\u00f6r\u00fcnm\u00fcyor veya yanl\u0131\u015f renkte:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>Toolbar<\/code>&#8216;\u0131n XML tan\u0131m\u0131ndaki <code>android:theme<\/code> ve <code>app:popupTheme<\/code> \u00f6zelliklerini kontrol edin. Genellikle koyu arka planlar i\u00e7in <code>ThemeOverlay.AppCompat.Dark.ActionBar<\/code> ve a\u00e7\u0131k arka planlar i\u00e7in <code>ThemeOverlay.AppCompat.Light<\/code> kullan\u0131l\u0131r.<br \/>\n*   <strong><code>Toolbar<\/code> scroll ile gizlenmiyor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>Toolbar<\/code>&#8216;\u0131n bir <code>AppBarLayout<\/code> i\u00e7inde oldu\u011fundan ve <code>app:layout_scrollFlags=\"scroll|enterAlways\"<\/code> gibi do\u011fru scroll bayraklar\u0131na sahip oldu\u011fundan emin olun. Ayr\u0131ca, <code>AppBarLayout<\/code>&#8216;un bir <code>CoordinatorLayout<\/code> i\u00e7inde oldu\u011fundan ve i\u00e7erik <code>View<\/code>&#8216;inizin (\u00f6rne\u011fin <code>NestedScrollView<\/code> veya <code>RecyclerView<\/code>) <code>app:layout_behavior=\"@string\/appbar_scrolling_view_behavior\"<\/code> \u00f6zelli\u011fine sahip oldu\u011fundan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p><code>Android ActionBar<\/code> (\u015fimdiki ad\u0131yla <code>Toolbar<\/code>), modern Android uygulamalar\u0131 i\u00e7in vazge\u00e7ilmez bir UI bile\u015fenidir. Uygulama kimli\u011fini, navigasyonu ve \u00f6nemli aksiyonlar\u0131 tek bir yerde toplayarak tutarl\u0131 ve kullan\u0131c\u0131 dostu bir deneyim sunar. <code>Toolbar<\/code>&#8216;\u0131n esnekli\u011fi ve Material Design ile tam uyumu sayesinde, geli\u015ftiriciler uygulamalar\u0131n\u0131n \u00fcst k\u0131sm\u0131n\u0131 istedikleri gibi \u00f6zelle\u015ftirebilir ve zengin etkile\u015fimler ekleyebilirler.<\/p>\n<p>Bu makalede, <code>Toolbar<\/code>&#8216;\u0131n temel kurulumundan ba\u015flayarak ba\u015fl\u0131k ve navigasyon ikonunu ayarlama, men\u00fc \u00f6\u011feleri ekleme, aksiyon g\u00f6r\u00fcn\u00fcmleri kullanma ve ileri d\u00fczey scroll etkile\u015fimleri gibi bir\u00e7ok konuyu ele ald\u0131k. Kod \u00f6rnekleri ve ad\u0131m ad\u0131m a\u00e7\u0131klamalarla, kendi Android uygulamalar\u0131n\u0131zda g\u00fc\u00e7l\u00fc ve \u00f6zelle\u015ftirilebilir <code>Toolbar<\/code>&#8216;lar olu\u015fturmak i\u00e7in sa\u011flam bir temel edinmi\u015f olmal\u0131s\u0131n\u0131z. <code>Toolbar<\/code>, uygulaman\u0131z\u0131n kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fcn kalbidir; onu etkin bir \u015fekilde kullanarak kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in daha iyi bir deneyim sa\u011flayabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131\nAndroid uygulamalar\u0131n\u0131n kullan\u0131c\u0131 aray\u00fcz\u00fcnde (UI) merkezi bir rol oynayan ActionBar, kullan\u0131","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-36944","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131\" \/>\n<meta property=\"og:description\" content=\"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 Android uygulamalar\u0131n\u0131n kullan\u0131c\u0131 aray\u00fcz\u00fcnde (UI) merkezi bir rol oynayan ActionBar, kullan\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-25T05:40:50+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131\",\"datePublished\":\"2025-12-25T05:40:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\"},\"wordCount\":2318,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\",\"name\":\"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-25T05:40:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/","og_locale":"tr_TR","og_type":"article","og_title":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131","og_description":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 Android uygulamalar\u0131n\u0131n kullan\u0131c\u0131 aray\u00fcz\u00fcnde (UI) merkezi bir rol oynayan ActionBar, kullan\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-25T05:40:50+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131","datePublished":"2025-12-25T05:40:50+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/"},"wordCount":2318,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/","url":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/","name":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-25T05:40:50+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/android-actionbar-ornegi-ve-detayli-anlatimi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Android ActionBar \u00d6rne\u011fi ve Detayl\u0131 Anlat\u0131m\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36944"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36944\/revisions"}],"predecessor-version":[{"id":36945,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36944\/revisions\/36945"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}