Android 上下文菜單 ActionMode

来源:https://www.cnblogs.com/zhangxuechao/archive/2019/11/04/11792445.html

public class MainActivity extends Activity { private Button button; private ActionMode actionMode; @Override protected void onCreate(Bundle savedInsta... ...


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


您的分享是我們最大的動力!

更多相關文章
  • public class MainActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(... ...
  • 配合 "Activity 從啟動到佈局繪製的簡單分析" 閱讀 基本概念介紹 Activity:一個 Activity 是一個應用程式組件,提供一個屏幕,用戶可以用來交互。 View:所有視圖控制項的基類 ViewGroup:View 的子類,是容器類控制項,內部用於放置子View Window:概況了 ...
  • 看了下上一次寫博客已經是2年前了,很是慚愧,那麼這兩年我都幹了些什麼呢,由於18年的經濟不景氣,我們一家創業5年的公司解散,我也算是最後一批走的老員工吧,很是不捨得,畢竟,產品打磨了5年,最後還是輸給了資本(有空寫一下創業5年的見聞以及失敗原因)。 創業公司出來後,我加入了一下App出海的公司,主營 ...
  • 出現如下錯誤:DDMS files not found: xxx\hprof-conv.exeThe connection to adb is down, and a severe error has occuredPlease ensure that adb is correctly locate... ...
  • 一. Android系統版本及詳細信息 最新數據 https://developer.android.com/about/dashboards/ 二. Android項目初探 1. 使用android studio創建一個工程 Application Name:“My First App” Comp ...
一周排行
x