简体   繁体   English

滚动问题,以ViewPager作为ListView的标题

[英]Scrolling issues having a ViewPager as the header in a ListView

I'm trying to stick a ViewPager (horizontal scroll) in a tableview (vertical scroll). 我试图将ViewPager(水平滚动)粘贴在tableview(垂直滚动)中。 It appears that it works unless you do any kind of vertical scroll in the ViewPager which happens normally when trying to swipe. 除非您在ViewPager中进行任何垂直滚动(这在尝试滑动时正常发生),否则它似乎可以正常工作。 Any ideas on how I can get this to work properly? 关于如何使它正常工作的任何想法?

You can use code like this (the trick is to disallow vertical scrolls in the parent as soon as a horizontal scroll is detected): 您可以使用这样的代码(技巧是在检测到水平滚动时立即禁止父级中的垂直滚动):

    viewPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
        }

        @Override
        public void onPageScrolled(int position, float positionOffset,
                int positionOffsetPixels) {
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            if (state == ViewPager.SCROLL_STATE_DRAGGING) {
                viewPager.getParent().requestDisallowInterceptTouchEvent(
                        true);
            }
        }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM