如何使用Toolbar-Menu

如何使用Toolbar-Menu

如何使用Toolbar-Search示範了怎麼加入searchbar, 現在要來控制怎麼加入item到settings裡面,
其實蠻簡單的, 只需要在menu 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=".MainActivity">
    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
    <item
        android:id="@+id/action_about"
        android:orderInCategory="200"
        app:showAsAction="never"
        android:title="About"/>
    <item
        android:id="@+id/action_exit"
        android:orderInCategory="300"
        app:showAsAction="never"
        android:title="Exit"/>
    <item android:id="@+id/my_search"
        android:title="@string/search_title"
        android:icon="@drawable/ic_open_search"
        app:showAsAction="ifRoom"
        app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

當中orderInCategory可以調整menu內的順序, 數字越小的在越前面
而showAsAction要選擇never才會被塞進settings內,
詳情請看Menu-Resource的宣告

在java程式內覆寫onOptionsItemSelected就可以控制menu內item了。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.action_about:
        // About option clicked.
        return true;
    case R.id.action_exit:
        // Exit option clicked.
        return true;
    case R.id.action_settings:
        // Settings option clicked.
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}


程式碼