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

发布于 2025-01-07 02:47:07 字数 207 浏览 2 评论 0原文

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

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

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

I have a TextView displayed on top of a WebView. Both of them are placed inside a RelativeLayout.

Since TextView is displayed on top of a WebView and covers the whole of a WebView I would like to disable passing touch events from TextView to underlying WebView. I don't want touching TextView to cause scrolling in a WebView.

Is that possible in Android? If so, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巡山小妖精 2025-01-14 02:47:07

您可以在返回 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 上的所有触摸:滚动和单击。

You can attach a View.OnTouchListener on your TextView that returns true to prevent propagating touches to the underlying 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; 
  }
});

Note that this will prevent all touches on your WebView: scrolls and clicks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文