天天看点

Android创建PopupMenu

Android创建PopupMenu
@RequiresApi(api = Build.VERSION_CODES.M)
    private void showActionMenuDialog(View view) {
        if (mPopupMenu == null) {
            mPopupMenu = new PopupMenu(this, view, Gravity.END | Gravity.BOTTOM);
            mPopupMenu.getMenuInflater().inflate(R.menu.more_menu, mPopupMenu.getMenu());
            Menu menu = mPopupMenu.getMenu();
            MenuItem menuItem = menu.findItem(R.id.menu_open_app);
            menuItem.setTitle(menuItem.getTitle() + " " + mIntentAppName);
            mPopupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.menu_open_app:
                            
                            break;
                        case R.id.menu_clear_msg:

                            break;
                    }
                    mPopupMenu.dismiss();
                    return true;
                }
            });
        }
        mPopupMenu.show();
    }
           
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menu_open_app"
        android:title="@string/menu_open_app"/>
    <item
        android:id="@+id/menu_clear_msg"
        android:title="@string/menu_clear_msg"/>
</menu>