android webview 内容不可选择

标签 android webview android-webview selectable

我有一个 WebView 。 WebView 显示带有文本、图像、按钮等的 html。
我想做一些东西。

1) 该用户无法在 webView 中选择文本

2) 点击和长按按钮的行为相同。

我做了接下来的事情来解决我的问题: 首先,我在html页面中添加了样式:

body {
     ...
     -webkit-user-select: none;
     -webkit-touch-callout: none;
     ...
}

但这对我没有帮助。此解决方案不适用于所有机器人。
所以我尝试给webView添加触摸监听器。

监听器代码:

webView.setOnTouchListener(new OnTouchListener() {

    private float prevX;
    private float prevY;

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        boolean handled = true;
        if (MotionEvent.ACTION_DOWN == event.getAction()) {
            prevX = event.getX();
            prevY = event.getY();
        } else if (MotionEvent.ACTION_UP == event.getAction()) {
            if (Math.abs(event.getX() - prevX) < 50
                    && Math.abs(event.getY() - prevY) < 50) {
                handled = (event.getEventTime() - event
                        .getDownTime()) > 200;
            }
        }

        Log.d("-------------------------------------------------", ""+handled);

        return handled;
    }

});

但这也不起作用,可能是我做错了什么? 之后我尝试添加长按监听器:

webView.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        v.performClick();
        return true;
    }
});

这个解决方案只解决了第一个问题。

那么,我哪里出错了?

最佳答案

尝试使用 WebView 的 addJavascriptInterface();。创建 Activity 的内部类。该类是 android 和 Your Jscript 之间的接口(interface)。您必须为此使用 Jscript。

关于android webview 内容不可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12296683/

相关文章:

jquery - JQuery 真的可以在 WebView 中工作吗?

android - java.lang.IllegalStateException: CookieSyncManager::createInstance() 需要在 CookieSyncManager::getInstance() 之前调用

android - android中的 ionic 通知

java - 社交媒体应用程序如何正确保存登录信息

webview - 带有 Webview 的 IOS 12 中输入字段文本字段光标丢失?

android - WebView 握手失败

android - 如何使用链式工作人员使用工作管理器创建定期请求

Android Studio SDK 安装失败

android - 在 Android Webview 上无限制地放大/缩小