Nik*_*ddy 2 android android-webview webviewclient
我在我的应用程序中使用 Web 视图,一切对我来说都很好,但我遇到了小问题。当 Url 包含免责声明时,我不应该允许 web 视图应该是可点击的。但在所有其他情况下,网络视图应该是可点击的。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("Disclaimers")){
view.setClickable(false);
//Here clickable should be fasle.
return true;
}else{
// In this clickable should be true.
view.setClickable(true);
if(!url.contains("/Home.mvc/Trade")){
showProgressLayout();
}
if(url.contains("/Home.mvc/Trade")){
openTradeScreen(url);
}else{
view.loadUrl(url);
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个老问题,但其他人也可能会发现这里的答案很有用。似乎比将可点击设置为 false 更好地解决问题。
为了懒惰,我将从这里的答案中复制解决方案(针对这种情况进行了编辑,假设view是 webview):)
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
原始答案也给出了以下解释:
禁用 WebView 上的所有触摸事件,因为触摸侦听器在 WebView 的默认触摸行为之前执行。通过返回 true 事件被消耗并且不会传播到 WebView。
使用 android:clickable="false" 不会禁用触摸事件。
| 归档时间: |
|
| 查看次数: |
6038 次 |
| 最近记录: |