Home About
Android

Android のメニューに区切り線(divider)を入れたい

ActionBar でポップアップメニューをつくる場合、res/menu/menu.xml あたりに以下のような内容を記述することで、あとは適宜インフレートすれば問題ない。

menu.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_menu"
        android:title="File"
        app:showAsAction="always" >
        <menu>
            <item android:id="@+id/action_new" android:title="New" />
            <item android:id="@+id/action_open" android:title="Open" />
            <item android:id="@+id/action_save" android:title="Save" />
            <item android:id="@+id/action_close" android:title="Close" />
            <item android:id="@+id/action_quit" android:title="Quit" />
        </menu>
    </item>
</menu>

しかし、ここに区切り線を追加したいと思ってもやり方がよくわからなかった。 何が正解なのかわからないのだが、とりあえず PopupWindow を使う方法でそれなりの実装ができたのでやり方をシェアします。もっとよい/もっと普通/もっと簡単な方法があったら教えてください。

ソースはこちら