Scrollview does not work on viewpager.pagetransformer

392 Views Asked by At

I'm working with viewPager fragments with Scrollview fade in- out animation.For this purpose i add the function on viewpager.pagetransformer.When i add this feature then the Scroll view does not work properly(only first step data scroll ).

Declaration on viewpager:

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    mViewPager.setPageTransformer(true, new CrossfadePageTransformer());
    mViewPager.setAdapter(mSectionsPagerAdapter);

SectionsPagerAdapter Class are:

public class SectionsPagerAdapter extends FragmentPagerAdapter {

    public SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a PlaceholderFragment (defined as a static inner class
        // below).
        return PlaceholderFragment.newInstance(position + 1);
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 3;
    }

}

And the CrossfadePageTransformer class for fade in-out animation :

public class CrossfadePageTransformer implements ViewPager.PageTransformer {

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@SuppressLint("NewApi")
@Override
public void transformPage(View view, float position) {

    //working.....
    view.setScrollY(0);
    view.setTranslationX(view.getWidth() * -position);
    if (position <= -1.0F || position >= 1.0F) {
        view.setAlpha(0.0F);
    } else if (position == 0.0F) {
        view.setAlpha(1.0F);
    } else {
        // position is between -1.0F & 0.0F OR 0.0F & 1.0F
        view.setAlpha(1.0F - Math.abs(position));
    }
}

How i can solve this issues?Please suggest to me.Thanks all.

1

There are 1 best solutions below

0
On

The thing is ViewPager also implements onTouchEvent, same as ScrollView, so they are interfere each other.

I'm afraid there is no easy way to make it work, so just don't use nested scroll views.