zoukankan      html  css  js  c++  java
  • Android 上下文菜单 ActionMode

    public class MainActivity extends Activity {
    
        private Button button;
        private ActionMode actionMode;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            button = (Button) findViewById(R.id.button);
    
            button.setOnLongClickListener(new OnLongClickListener() {
    
                @Override
                public boolean onLongClick(View v) {
                    // TODO Auto-generated method stub
                    if (actionMode != null) {
                        return false;
                    } else {
                        actionMode = startActionMode(actionCallback);
                        v.setSelected(true);
                        return true;
                    }
                }
            });
        }
    
        private ActionMode.Callback actionCallback = new ActionMode.Callback() {
    
            @Override
            public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
                // TODO Auto-generated method stub
                return false;
            }
    
            @Override
            public void onDestroyActionMode(ActionMode mode) {
                // TODO Auto-generated method stub
    
            }
    
            // 从XML菜单中加载菜单
            @Override
            public boolean onCreateActionMode(ActionMode mode, Menu menu) {
                // TODO Auto-generated method stub
    
                MenuInflater inflater = getMenuInflater();
                inflater.inflate(R.menu.main, menu);
    
                return true;
            }
    
            // 菜单被点击
            @Override
            public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
                // TODO Auto-generated method stub
    
                switch (item.getItemId()) {
                case R.id.action_add:
                    Toast.makeText(MainActivity.this, "添加被点击", 1).show();
                    break;
    
                case R.id.action_delete:
                    Toast.makeText(MainActivity.this, "删除被点击", 1).show();
                    break;
                default:
                    break;
                }
    
                return false;
            }
        };
    }

    长按显示菜单

    image

    选择菜单

    image

  • 相关阅读:
    git 常用命令
    SVG Sprite技术介绍
    添加样式(后台给字段note(left,height-auto ))
    assign,copy,retain,readonly,readwrite之间区别
    遍历(字典的遍历)
    Block
    loadView、viewDidLoad及viewDidUnload的关系
    IOS单例模式(Singleton单粒模式)
    模仿,后台
    仿站 通用套路
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11792445.html
Copyright © 2011-2022 走看看