首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HorizontalScrollView onTouch

HorizontalScrollView onTouch
EN

Stack Overflow用户
提问于 2014-05-27 06:48:41
回答 1查看 874关注 0票数 0

我使用的是水平滚动视图及其工作方式,我在水平滚动视图中有两个web视图,我的问题是,当你在web视图中向下或向上滚动时,由于水平滚动视图,它会向左或向右滚动,我使用以下代码

代码语言:javascript
复制
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,但还是一样。我觉得那个标签没有做任何事情

代码语言:javascript
复制
   findViewById(R.id.webView22).getParent().requestDisallowInterceptTouchEvent(false);
   return false;

我希望有人能帮上忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-27 08:38:01

实际上,这里的情况是,水平滚动视图和web视图都使用滚动事件。现在,Android操作系统很难决定这个滚动事件应该转到哪个监听器上。

其中一个选项是使用幻灯片动画而不是水平滚动视图。

代码语言:javascript
复制
fragmentTransaction.setCustomAnimations(R.anim.slide_bottom_in,
                                               R.anim.slide_bottom_out,R.anim.slide_bottom_in,
                                               R.anim.slide_bottom_out);

但这些都需要在某些事件中再次触发。就像按一下按钮。

或者你可以去找查看寻呼机实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23882795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档