1

我需要实现一个长按按钮出现的菜单,因此用户可以选择他想要的选项,只需向某个方向滑动即可。有没有办法做到这一点?我现在只有一个带有 onLongClick 方法的 setOnLongClickListener。

btn01.setOnLongClickListener(new View.OnLongClickListener(){
            public boolean onLongClick (View view) {
                Toast.makeText(getApplicationContext(),"Button 01 long clicked", Toast.LENGTH_SHORT).show();
                return true;
            }
        });
4

1 回答 1

2

在您的活动中:

    btn01.setOnLongClickListener(new View.OnLongClickListener(){
        public boolean onLongClick (View view) {
            registerForContextMenu(btn01);
            openContextMenu(btn01);
            return true;
        }
    });

    @Override
    public void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){
        //Context menu
        menu.setHeaderTitle("My Context Menu");
        menu.add(Menu.NONE, CONTEXT_MENU_VIEW, Menu.NONE, "Add");
        menu.add(Menu.NONE, CONTEXT_MENU_EDIT, Menu.NONE, "Edit");
        menu.add(Menu.NONE, CONTEXT_MENU_ARCHIVE, Menu.NONE, "Delete");
    }

    @Override
    public boolean onContextItemSelected (MenuItem item){
        switch (item.getItemId()) {
            case CONTEXT_MENU_VIEW: {

            }
            break;
            case CONTEXT_MENU_EDIT: {
                // Edit Action

            }
    }
}
于 2017-06-06T07:44:34.383 回答