前言
将“设置”或“添加”按钮放在ActionBar,可以让你的app看起来更加清晰,更加方便用户使用。记录一下如何在ActionBar添加menu按钮。
创建menu xml文件
- 在res->menu文件夹中创建menu_main.xml
android:orderInCategory
设置按钮的排序顺序;app:showAsAction
设置显示方式,ifRoom
设置为当ActionBar有位置时显示,当没有位置时收起;
<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="com.youli.feiyu.fynotification.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="0"
android:icon="@drawable/iconfont_setting"
android:title="@string/action_settings"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_add"
android:orderInCategory="1"
android:icon="@drawable/iconfont_add"
android:title="@string/action_add"
app:showAsAction="ifRoom" />
</menu>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
为ActionBar添加按钮
- 在Activity中,重写
onCreateOptionsMenu
; - 将menu_main.xml添加进来;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
- 1
- 2
- 3
- 4
- 5
为按钮添加点击事件
- 在Activity中,重写
onOptionsItemSelected
;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (id == R.id.action_settings) {
return true;
}
if (id == R.id.action_add) {
return true;
}
return super.onOptionsItemSelected(item);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
总结
- ActionBar的menu按钮,事先定义好xml;
- 在Activity中重写
onCreateOptionsMenu
,将菜单按钮添加进来;
- 在Activity中重写
onOptionsItemSelected
,监听按钮的点击事件;
转自:http://blog.csdn.net/SeanHuang1661/article/details/50791889