一番上のバー(Toolbar)を編集しようと思って,どこをいじればいいのかわからなかったのでメモ.
開発環境(何を書けば...)
- min sdk version 21
- Compile sdk version : API26 : Android8.0
- build tools version : 26.0
- ActivityはMainActivity一つ
前提
- ActivityはMainActivity一つ
- アプリのテーマをxxxxx.NoActionbarにしている
- デザイナなりxml直打ちなりでToolbarを挿入している
- MainActivityの
onCreate
内に以下のような記述がある
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); //R.id.toolbarは各自で設定したidを入れる setSupportActionBar(toolbar);
本題
MainActivity内に以下の関数を追加.これによりToolbar内によくみるアイコン付きボタンが表示される準備ができる.
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; }
次に,xmlファイルを作成する.
先ほどのmenu_main
はxmlファイルの名前と(おそらく)同じ
<menu 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" tools:context="com.gologius.infoclip.MainActivity"> <item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/action_settings" android:visible="true" app:showAsAction="never" tools:title="設定" /> <item android:id="@+id/action_about" android:title="このアプリについて" android:orderInCategory="200" app:showAsAction="never" /> <item android:id="@+id/action_search" android:icon="@drawable/ic_search_black_24dp" android:title="search" app:showAsAction="always" /> <item android:id="@+id/action_add" android:icon="@android:drawable/ic_menu_add" android:title="add" app:showAsAction="always" /> </menu>
・・・(縦)のアイコンには,app:showAsAction="never"
にしたものが入る.
なので,app:showAsAction="never"
が一つもなければ・・・(縦)アイコンは表示されない.
たぶんこの解釈であっているはず.