【问题标题】:Android: Menù popup with long click?Android:长按菜单弹出菜单?
【发布时间】:2017-11-07 02:29:58
【问题描述】:

我需要实现一个菜单,该菜单通过长按按钮出现,因此用户可以选择他想要的选项,只需向某个方向滑动即可。有没有办法做到这一点?我现在只有一个带有 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;
            }
        });

【问题讨论】:

    标签: android onclick buttonclick long-click


    【解决方案1】:

    在您的活动中:

        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
    
                }
        }
    }
    

    【讨论】:

    • 好的,我理解逻辑,但不知道如何调整我的代码。我在“public class ScoutActivity”包含的“onCreate”方法中有这个监听器,当我尝试提出你的建议时,我得到了像“onCreateContextMenu variable is never used”之类的错误(但它应该是一个方法?!)无法解析符号, 抄送..
    • 今晚我将粘贴我的代码,但是我更好地检查了您的“ContextMenu”,发现它不是我需要的。我想要类似于圆形菜单的东西:如果用户长按按钮,就会出现一个圆圈,他必须向一个方向滑动。
    • 好的。也许有了这个库它可以提供帮助:github.com/strider2023/Radial-Menu-Widget-Android
    猜你喜欢
    • 2019-06-15
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多