ActionBar使用示例
-
步骤一
- 在res目录下新建menu资源文件夹(Android resource directory)
- 在menu文件夹下新建Menu resource file(注意名称不能出现大写字母,名称示例:actionbar_main_activity)
-
步骤二
- 修改命名空间,为了引入showAsAction属性
<menu xmlns:app="http://schemas.android.com/apk/res-auto">
- 修改命名空间,为了引入showAsAction属性
-
步骤三
- 定义每一个选项的item标签
icon: 为标签项设置图标显示
title: 为标签项设置文字显示
showAsAction:设置标签项显示规则(包含always、ifRoom等5个取值)
`<!--当item中showAsAction属性值包含never | withText | collapseActionView时,界面中出现三点显示-->
<item
android:id="@+id/action_bar_more"
app:showAsAction="never"
android:title="查看"/>
<!--@android:drawable/ic_menu_delete为系统图标 -->
<item
android:id="@+id/action_bar_delete"
android:icon="@android:drawable/ic_menu_delete"
android:title="删除"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_bar_add"
android:icon="@android:drawable/ic_menu_add"
android:title="添加"
app:showAsAction="ifRoom"/>
-
步骤四
- 在Activity中绑定ActionBar的菜单资源文件
- 在当前窗体的Activity类中重写onCreateOptionsMenu()方法
- 获取当前窗体菜单的接口对象MenuInflater
- 调用其.inflate()方法将菜单资源文件*.xml与当前菜单资源对象进行绑定
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar_main_activity,menu); return super.onCreateOptionsMenu(menu); }
- 在Activity中绑定ActionBar的菜单资源文件
-
步骤五
- 添加ActionBar菜单选项的动作处理事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.action_bar_delete:
Toast.makeText(MainActivity.this,"您点击了删除!",Toast.LENGTH_SHORT).show();
return true;
case R.id.action_bar_add:
Toast.makeText(MainActivity.this,"您点击了添加!",Toast.LENGTH_SHORT).show();
return true;
case R.id.action_bar_more:
Toast.makeText(MainActivity.this,"您点击了查看!",Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
- 添加ActionBar菜单选项的动作处理事件
-
效果展示
ActionBar示例.JPG
触发点击事件.JPG
网友评论