一、新建菜单
![]()
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />
<item
android:id="@+id/menu_xkxz"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/menu_xkxz" />
</menu>
二、点击事件调用
button_xk_add = (Button) root.findViewById(R.id.button_xk_add);
button_xk_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ShowPopMenu(button_xk_add);
}
});
private void ShowPopMenu(View view)
{
//创建弹出式菜单对象(最低版本11)
PopupMenu popup = new PopupMenu(getContext(), view);//第二个参数是绑定的那个view
//获取菜单填充器
MenuInflater inflater = popup.getMenuInflater();
//填充菜单
inflater.inflate(R.menu.bottom_nav_menu, popup.getMenu());
//绑定菜单项的点击事件
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch(item.getItemId())
{
case R.id.navigation_home:
//隐藏该对话框
Toast.makeText(getContext(), "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show();
popup.dismiss();
break;
case R.id.navigation_dashboard:
Toast.makeText(getContext(), "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show();
popup.dismiss();
break;
case R.id.navigation_notifications:
Toast.makeText(getContext(), "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show();
popup.dismiss();
break;
case R.id.menu_xkxz:
popup.dismiss();
break;
}
// TODO Auto-generated method stub
return false;
}
});
//显示(这一行代码不要忘记了)
popup.show();
}