Androidアクションバーにアイコンを表示する方法


  1. まず、アプリの res ディレクトリ内に menu ディレクトリを作成します。作成した menu ディレクトリ内に、アイコンを表示するためのメニューファイル(例: menu_main.xml)を作成します。

  2. menu_main.xml ファイル内に、以下のようにアクションバーに表示するアイコンを定義します。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_icon"
        android:icon="@drawable/ic_icon"
        android:title="Icon"
        app:showAsAction="always" />
</menu>

上記の例では、アイコンとして ic_icon という名前のドローアブルリソースを使用しています。必要に応じて、適切なアイコンを用意してください。

  1. アクティビティの onCreateOptionsMenu メソッド内で、上記で作成したメニューファイルをインフレートします。以下のようにコードを追加します。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);
    return true;
}
  1. アクションバー上にアイコンを表示するために、アクティビティの onOptionsItemSelected メソッドをオーバーライドし、選択されたメニューアイテムを処理するコードを追加します。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_icon) {
        // アイコンが選択された場合の処理を記述します
        return true;
    }
    return super.onOptionsItemSelected(item);
}

上記の例では、action_icon という ID を持つメニューアイテムが選択された場合に処理されるコードを記述しています。

これで、アクションバーにアイコンが表示されるはずです。アイコンをタップしたときのアクションは、onOptionsItemSelected メソッド内に記述してください。