Android5.0からActionBarに変わってToolBarを使うらしい。それ以前のバージョンでもSupport Libraryで使用可能。
#activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 |
<LinearLayout : xmlns:app="http://schemas.android.com/apk/res-auto" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/Theme.AppCompat.Light"/> |
#main_menu.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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/add" android:icon="@android:drawable/ic_menu_add" app:showAsAction="always" android:title="@string/menu_add" /> <item android:id="@+id/settings" android:icon="@android:drawable/ic_menu_preferences" app:showAsAction="never" android:title="@string/menu_setting" /> </menu> |
#MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(getString(R.string.app_name)); toolbar.inflateMenu(R.menu.main_menu); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch(item.getItemId()){ case R.id.add: add(); return true; case R.id.settings: settings(); return true; } return true; } }); |
#style.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- ToolBarの背景色 --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <!-- ToolBarのタイトルテキスト色 --> <item name="android:textColorPrimary">@color/white</item> <!-- ToolBarのオプションメニューのOverflowアイコンの色 --> <item name="android:textColorSecondary">@color/white</item> </style> </resources> |