【问题标题】:Scrollview does not work on viewpager.pagetransformer滚动视图在 viewpager.pagetransformer 上不起作用
【发布时间】:2015-07-27 13:04:16
【问题描述】:

我正在使用带有 Scrollview 淡入动画的 viewPager 片段。为此,我在 viewpager.pagetransformer 上添加了该功能。当我添加此功能时,滚动视图无法正常工作(仅第一步数据滚动) .

viewpager 上的声明:

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

SectionsPagerAdapter 类是:

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;
    }

}

还有用于淡入淡出动画的 CrossfadePageTransformer 类:

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));
    }
}

我该如何解决这个问题?请给我建议。谢谢。

【问题讨论】:

    标签: android android-fragments android-viewpager scrollview android-pagetransformer


    【解决方案1】:

    问题是ViewPager也实现了onTouchEvent,和ScrollView一样,所以互相干扰。

    恐怕没有简单的方法让它工作,所以不要使用嵌套滚动视图。

    【讨论】:

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