在如何使用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);
}
}