1. 程式人生 > >解決ScrollView或者listview巢狀ViewPager 時候 Pager左右滑動不流暢

解決ScrollView或者listview巢狀ViewPager 時候 Pager左右滑動不流暢

pager.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            v.getParent().requestDisallowInterceptTouchEvent(true);
            return false;
        }
    });

    pager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
          mPager.getParent().requestDisallowInterceptTouchEvent(true);
        } 
        @Override 
        public void onPageScrollStateChanged(int arg0) {
        } 
    });

以上程式碼足夠解決這個問題。。。

有時候會遇到2.3.x的版本在滑動VIewPager的時候觸發onClick事件。

這時候需要註釋掉

 mPager.getParent().requestDisallowInterceptTouchEvent(true);


到時候根據裝置適配吧。。到時候根據裝置適配吧。。

這個是原文  經過測試是可以的 mPager.getParent().requestDisallowInterceptTouchEvent(true); 還是很有用的可以解決實際問題