Android - 拖动手势上不受欢迎的WebView移动

时间:2013-01-04 14:03:16

标签: android android-webview

我希望有人会帮我解决这个问题:

我有两个主要图层的FrameLayout。 视频层,广播流 在它上面,有一个WebView,它加载 带有小部件的门户网站(HTML5 / CSS / ...),看起来像 电视上的OSD。

当用户触摸屏幕时,会显示节目信息,节目频道图标等。 再次触动,OSD消失。 用户可以在两个方向上的通道之间滑动(无限循环)。 所有这些手势都在WebView中执行,因此Android不会处理它们。 门户和Android之间的通信是通过Javascript界面​​完成的(在我的Web视图层启用)。

到目前为止,非常好。

当小部件被隐藏时,它们实际上不是隐藏的,它们只是在我的平板电脑屏幕上显示,因为门户区域比我的网络视图区域大。我正在使用match_parent参数来表示高度和宽度。

实际问题是,有时当我用手指拖动时,我设法滚动网页视图(移动它),然后我看到门户区域的其余部分,其中小部件被称为隐藏。

我想知道如何防止这种情况发生。我无法禁用网页视图的手势,我只想将其固定在左上角而不进行任何移动。

我希望有人能够帮助我。非常感谢。马丁

1 个答案:

答案 0 :(得分:0)

添加一个不执行任何操作的侦听器。

webView.setOnTouchListener(new View.OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
      return (event.getAction() == MotionEvent.ACTION_MOVE);
    }
});

我想你也可以只使用

webView.setHorizontalScrollBarEnabled(false);

webView.setVerticalScrollBarEnabled(false);

[编辑] 我应该补充一点,如果你只是禁用滚动条,你应该将你的webview包装在一个滚动视图中,这样就不能实际滚动。