【问题标题】:Manage vertical ViewPager inside ScrollView管理 ScrollView 内的垂直 ViewPager
【发布时间】:2015-01-26 16:51:00
【问题描述】:

我正在开发一个应用程序,它在 ScrollView 中有一个垂直的 ViewPager。问题是 ViewPager 仅在我水平滚动时识别触摸事件,否则 ScrollView 将获得焦点并执行滚动。 我认为这可行:

viewPager.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            scrollView.requestDisallowInterceptTouchEvent(true);

            int action = event.getActionMasked();

            switch(action){
            case MotionEvent.ACTION_UP:
                scrollView.requestDisallowInterceptTouchEvent(false);
                break;
            }
            return false;
        }
    });

但是由于 ViewPager 在我执行垂直滚动时无法识别触摸事件,所以这段代码什么也不做。 我想要实现的是当我触摸 ViewPager 时将焦点放在 ViewPager 上,当我不触摸 ViewPager 时将焦点放在 ScrollView 上。提前致谢。

【问题讨论】:

    标签: android performance android-viewpager scrollview


    【解决方案1】:

    这是我用于滚动视图的一些代码,该代码在文本视图聚焦方面存在问题。它可能会帮助你。可能不会。

    ScrollView sv = (ScrollView) view.findViewById(R.id.svRecord);
        sv.setOnTouchListener(this);
        sv.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
        sv.setFocusable(true);
        sv.setFocusableInTouchMode(true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多