Bu derste material design’da toolbarın ne olduğundan, öneminden ve nasıl kullanıldığından bahsettim.
Eskiden actionbar olarak bilinen yapıyı artık toolbar olarak kullanıyoruz. Toolbar’ı actionbar olarak kullanabildiğimiz gibi başlı başlıca direk olarak da kullanabiliyoruz. Bunun için setActionBar ve setSupportActionBar methodlarını kullanırız.
Bu methodlardan birinci api21 ve sonrası diğeri ise önceki versiyonlarla uyumlu çalışması için kullanılır(Api 7’ye kadar).
Toolbar içinde birden fazla view öğesi olabilir. Çünkü toolbar aslında bir viewgroup’tan üretilir. Bu sayede illa uygulamanın başında olması gerekmez. Normal bir viewgroup gibi uygulamamızın herhangi bir yerinde toolbarı kullanabiliriz.
Toolbarımızda navigation icon’u(Geri gelmek için), uygulama iconu, başlık, altbaşlık, menu iconları ve overflow menu denilen üç noktaüstüste iconu bulunabilir.
Toolbar kullanmak için uygulamamızın styles.xmlinde bulunan temanın parentına : Theme.Appcompat.Light.NoActionBar’ı yazarız böylece default actionbardan kurtuluruz. Daha sonra toolbar öğesini layoutumuzda tanımlarız. Böylece toolbarımız kullanıcıya gözükür.
Toolbarda işlem yapmak için java kodlarıyla aynı bir view öğesini ele aldığımız gibi ele alır ve ilgili özelliklerle donatırız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
public class MainActivity extends AppCompatActivity { Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){ toolbar.setElevation(5f); } */ toolbar= (Toolbar) findViewById(R.id.toolbar); /* setSupportActionBar(toolbar); getSupportActionBar().setTitle("Merhaba"); getSupportActionBar().setSubtitle("Alt başlık");*/ toolbar.setTitle("Merhaba"); toolbar.setSubtitle("Alt başlık"); toolbar.inflateMenu(R.menu.menu_main); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { String mesaj=""; switch (item.getItemId()){ case R.id.ara: mesaj="ARA TIKLANDI"; break; case R.id.sil: mesaj="SİL TIKLANDI"; break; case R.id.duzenle: mesaj="DÜZENLE TIKLANDI"; break; case R.id.ayarlar: mesaj="AYARLAR TIKLANDI"; break; case R.id.cikis: mesaj="ÇIKIŞ TIKLANDI"; break; } Toast.makeText(MainActivity.this, mesaj, Toast.LENGTH_LONG).show(); return true; } }); } } |
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.emrealtunbilek.toolbarmaterial.MainActivity"> <include android:id="@+id/toolbar" layout="@layout/toolbar"></include> </RelativeLayout> |
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/colorPrimary" app:theme="@style/ToolBarTheme" app:popupTheme="@style/PopopMenu" android:minHeight="?attr/actionBarSize" > </android.support.v7.widget.Toolbar> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/sil" android:title="SİL" android:icon="@drawable/sil" android:orderInCategory="100" app:showAsAction="always" > </item> <item android:id="@+id/ara" android:title="ARA" android:icon="@drawable/ara" android:orderInCategory="100" app:showAsAction="always" > </item> <item android:id="@+id/ayarlar" android:title="Ayarlar" android:orderInCategory="100" app:showAsAction="never" > </item> <item android:id="@+id/duzenle" android:title="Düzenle" android:orderInCategory="100" app:showAsAction="never" > </item> <item android:id="@+id/cikis" android:title="Çıkış" android:orderInCategory="100" app:showAsAction="never" > </item> </menu> |