Toolbar添加菜单栏Menu
2019-07-03 本文已影响0人
南子李
1.在XML中创建菜单项,路径res/menu/main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/page_up"
android:title="up"
android:icon="@drawable/up"
android:checkable="true"
app:showAsAction="ifRoom"/>
</menu>
2.Activity中关联菜单布局
1)关联菜单布局
public boolean onCreateOptionsMenu(Menu menu) {
//导入菜单布局
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
2)设置item选中监听事件
public boolean onOptionsItemSelected(MenuItem item) {
//创建菜单项的点击事件
switch (item.getItemId()) {
case R.id.page_up:
Toast.makeText(this, "选择了page_up",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
3.Activity的主题style为NoActionBar
<style name="BaseNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
需拿到Toolbar对象并调用setSupportActionBar(toolbar)才能执行上面两个方法,实现Toolbar和Menu的关联
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
4.Android菜单Menu的三种类型
选项菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu)
注:其中,Sub Menu就是将功能相同的操作分组显示,他作用在OptionsMenu上,是OptionsMenu的二级菜单