書き物

技術とか作った物の話とか愚痴文句感想など

API 21: Android 5.0 (Lollipop) で Toolbar に ActionButton を表示する

API 21: Android 5.0 (Lollipop) で NavigationDrawer と Toolbar を実装する」の実装で、Toolbar の右側にアイコンで表示されるボタンを追加しようとしたらはまりました。

オプションメニューということで Activity に以下を実装しました。 @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 super.onCreateOptionsMenu(menu); }

このメニューをアイコンで表示するにはどうするのかなぁああぁと調べて、以下の記事を見つけました。 AppCompat_v7 Toolbar as actionbar not showing ‘always’ actions from menu, but API Toolbar does

それに習い、app:showAsAction=“always”を使えばアイコンで表示されるはず・・・と思いきや、showAsAction が効いている気配がありません。 android:showAsAction=“always”か?と書き換えてみると、AndroidStudio が赤線でエラー表示してきます。 エラーならダメかーと実行しなかったのですが、最終的にはandroid:showAsAction=“always”が正解だったようです。 menu_main.xml <?xml version=“1.0” encoding=“utf-8”?>

うまくいった様子

今回も Support Library がらみの理解不足から来るやつでしょうか。 AndrooidStudio が表示するエラーは無視するように出来ました。 合ってるんならエラー表示しないでほしい。 つらい。