Toolbar merupakan salah satu view utama dalam aplikasi Android. Toolbar dapat berisi view lain, seperti action button, option menu, home up button, hingga nama aplikasi.
Ketika membuat project blank baru, kita harus membuat toolbar manual yang kemudian kita bisa membuat toolbar tersebut bertindak sebagai actionbar. Oke langsung saja ke tutorial membuat custom toolbar berikut ini.
Membuat New Blank Activity
- File → New Project → Masukkan nama aplikasi "MyCafee", biarkan yang lain default → pilih New Blank Activity → Finish
Membuat Custom Toolbar
- Ubah styles.xml pada folder res → values yang mana dari tema DarkActiorBar menjadi NoActionBar. Hal ini bertujuan untuk menghilangkan ActionBar bawaan dari tema tersebut agar nanti tidak menumpuk saat kita memasukkan layout toolbar baru
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources> - Pada folder res, klik kanan folder layout → New → Layout resource file → masukkan nama layout misal "my_custom_toolbar" → OK
- Untuk membuat sebuah view toolbar, masukkan source code berikut pada layout yang sudah dibuat tadiThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
- Include my_custom_toolbar.xml ke layout activity_main.xml, jika terlihat tidak rapi karena padding dari layout, hapus code layout_margin pada LinearLayout-nyaThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!--Deklarasi ID di tiap layout berbeda--> <include android:id="@+id/toolbar_main" layout="@layout/toolbar_layout" /> </LinearLayout>
- Setelah itu, kita pindah ke MainActivity.java. Di awal kita sudah memberi id toolbar kita yaitu my_toolbar yang akan kita inisialisasi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characterspackage com.misbahul.mycafee; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; public class MainActivity extends AppCompatActivity { //variabel untuk menampung inisialisasi toolbar Toolbar mToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //tampung view toolbar ke variabel mToolbar mToolbar = (Toolbar) findViewById(R.id.my_toolbar); //menggunakan toolbar sebagai actionbar setSupportActionBar(mToolbar); //mengubah judul toolbar dengan string pada values string "app_name" = MyCafee mToolbar.setTitle(getResources().getString(R.string.app_name)); } }
Untuk keterangan code bisa dilihat di komentar code di atas - Hasilnya akan tampak seperti berikut
Oke, disini kita sudah mempunyai 1 buah layout berupa toolbar. Lalu jika ingin membuat activity baru, kita cukup include toolbar tersebut pada layout mana yang kita inginkan. Toolbar ini juga bisa kita custom sendiri sesuai layout dengan mengkustom melalui file java-nya.
Sekian tutorial cara membuat custom toolbar. Jika ada kesulitan silahkan berkomentar di bawah. Selamat mencoba dan happy coding!