我希望有人会帮我解决这个问题:
我有两个主要图层的FrameLayout。 视频层,广播流 在它上面,有一个WebView,它加载 带有小部件的门户网站(HTML5 / CSS / ...),看起来像 电视上的OSD。
当用户触摸屏幕时,会显示节目信息,节目频道图标等。 再次触动,OSD消失。 用户可以在两个方向上的通道之间滑动(无限循环)。 所有这些手势都在WebView中执行,因此Android不会处理它们。 门户和Android之间的通信是通过Javascript界面完成的(在我的Web视图层启用)。
到目前为止,非常好。
当小部件被隐藏时,它们实际上不是隐藏的,它们只是在我的平板电脑屏幕上显示,因为门户区域比我的网络视图区域大。我正在使用match_parent参数来表示高度和宽度。
实际问题是,有时当我用手指拖动时,我设法滚动网页视图(移动它),然后我看到门户区域的其余部分,其中小部件被称为隐藏。
我想知道如何防止这种情况发生。我无法禁用网页视图的手势,我只想将其固定在左上角而不进行任何移动。
我希望有人能够帮助我。非常感谢。马丁
答案 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包装在一个滚动视图中,这样就不能实际滚动。