我使用的是水平滚动视图及其工作方式,我在水平滚动视图中有两个web视图,我的问题是,当你在web视图中向下或向上滚动时,由于水平滚动视图,它会向左或向右滚动,我使用以下代码
HorizontalScrollView hv = (HorizontalScrollView)findViewById(R.id.horizontalScrollView2);
webView22.setOnTouchListener(new View.OnTouchListener() {
private String TAG;
public boolean onTouch(View v, MotionEvent event) {
Log.v(TAG,"PARENT TOUCH");
findViewById(R.id.webView22).getParent().requestDisallowInterceptTouchEvent(false);
return false;
}
});
webView22.setOnTouchListener(new View.OnTouchListener() {
private String TAG;
public boolean onTouch(View v, MotionEvent event)
{
Log.v(TAG,"CHILD TOUCH");
// Disallow the touch request for parent scroll on touch of child view
findViewById(R.id.webView23).getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});当我使用标记时,我得到了错误,比如字段FragmentActivity.TAG不可见
但是当我添加私有字符串标签时,不管怎么说,我不确定它是否正确,
无论怎样,在我测试它之后,webView22是好的和伟大的,但是如果我想要左右使用水平,它将是不工作的,
我试着把孩子的触觉换成BUTTON_BACK,但还是一样。我觉得那个标签没有做任何事情
findViewById(R.id.webView22).getParent().requestDisallowInterceptTouchEvent(false);
return false;我希望有人能帮上忙
发布于 2014-05-27 08:38:01
实际上,这里的情况是,水平滚动视图和web视图都使用滚动事件。现在,Android操作系统很难决定这个滚动事件应该转到哪个监听器上。
其中一个选项是使用幻灯片动画而不是水平滚动视图。
fragmentTransaction.setCustomAnimations(R.anim.slide_bottom_in,
R.anim.slide_bottom_out,R.anim.slide_bottom_in,
R.anim.slide_bottom_out);但这些都需要在某些事件中再次触发。就像按一下按钮。
或者你可以去找查看寻呼机实现。
https://stackoverflow.com/questions/23882795
复制相似问题