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.
The thing is
ViewPager
also implementsonTouchEvent
, same asScrollView
, 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.