WebView內長按或雙擊禁用上下文(工具欄)

最近在用WebView實現(xiàn)EditText時,不希望在雙擊或長按時出現(xiàn)上下文工具欄,因為這樣子不可控,在設置不可點擊時依舊能夠剪切粘貼,所以就在網(wǎng)上搜搜搜。
結果是,大多數(shù)都是

     webView.setLongClickable(false);
            webView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    return true;
                }
            });

只是解決了長按的問題,沒有關于雙擊的。
所以,還是自己寫吧!

    richView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch (motionEvent.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        if (isFastClick()){
                            return true;
                        }
                        break;
                    case MotionEvent.ACTION_UP:
                        break;
                }

                return false;
            }
        });


    private static Map<String, Long> records = new HashMap<>();
    private static final int MIN_DELAY_TIME = 1000;  // 兩次點擊間隔不能少于1000ms
    public static boolean isFastClick() {
        if (records.size() > MIN_DELAY_TIME) {
            records.clear();
        }

        //本方法被調用的文件名和行號作為標記
        StackTraceElement ste = new Throwable().getStackTrace()[1];
        String key = ste.getFileName() + ste.getLineNumber();

        Long lastClickTime = records.get(key);
        long thisClickTime = System.currentTimeMillis();
        records.put(key, thisClickTime);
        if (lastClickTime == null) {
            lastClickTime = 0L;
        }
        long timeDuration = thisClickTime - lastClickTime;
        return 0 < timeDuration && timeDuration < 500;
    }

自己動手,豐衣足食,目前試著沒問題,歡迎指教!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容