我有一个 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/