Android 禁止将事件传递给底层 webview

标签 android events webview touch

我有一个 TextView 显示在 WebView 之上。它们都放在 RelativeLayout 中。

由于 TextView 显示在 WebView 之上并覆盖了整个 WebView,因此我想禁用将触摸事件从 TextView 传递到底层 WebView。我不想触摸 TextView 导致在 WebView 中滚动。

这在 Android 中可行吗?如果是,怎么办?

最佳答案

您可以在返回 true 的 TextView 上附加一个 View.OnTouchListener,以防止将触摸传播到底层 WebView。

findViewById(R.id.textview).setOnTouchListener(new View.OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    // return TRUE since we want to consume the event
    return true; 
  }
});

请注意,这将阻止对 WebView 的所有触摸:滚动和点击。

关于Android 禁止将事件传递给底层 webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9345362/

相关文章:

android - 当我点击 TabLayout 的选项卡或通过 viewpager 移动时,我想加载 fragment

c++ - 系统事件 EVENT_SYSTEM_SWITCHSTART 和 EVENT_SYSTEM_SWITCHEND 在 Windows 7 中有效,但在 Windows 10 中无效

C#::何时使用事件或从事件处理接口(interface)派生的对象集合?

Android WebView 链接到带有 target=_blank 的同一窗口以打开新窗口

android - 如何为html页面android web View 加载css文件

android - 值没有被插入到 Firebase 数据库中

安卓浏览器漏洞? div溢出滚动

node.js - 如果新邮件通过 IMAP 到达 node.js,则获取通知

android - 如何将数据从 webview 传回原生 Android 应用

java - Android:长时间运行的文件记录线程会减慢用户界面