使用ViewPager进行条件向导/初始化

时间:2015-05-06 09:32:33

标签: android android-fragments android-viewpager android-animation viewpagerindicator

首次启动时,应用程序必须进行一些初始配置,因此我需要根据页面上的用户决定加载页面并将其滑动。所以我想设置并在动画决定之后滑动到正确的页面。 视觉步骤指示器甚至可以改变......一切都应该是动态的如下:

enter image description here

但ViewPager总是在片刻之后至少加载下一页(setOffscreenPageLimit(0)不允许);实际上,当用户从设置片段中选择一个选项时,幻灯片动画将贯穿所有中间页面并且在动画期间可见,因为我使用了mIndicator.setCurrentItem(5, true);

我能够禁用手势幻灯片但弧形动画不起作用。我可以设置mIndicator.setCurrentItem(5, false);,但在用户点击按钮到达相应的页面后,我仍然想要幻灯片动画。

Fragment安装程序具有Activity实现的Interface侦听器。从按钮调用侦听器,实现如下:

...
@Override
public void onRestoreLocal() {
    //The indicator contains ViewPager and it switches the page as well.
    mIndicator.setCurrentItem(5, true);
}
...

public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
    ...
    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a PlaceholderFragment.
        Log.d(TAG, "getItem position="+position);

        switch (position) {
        case 0:
            return PlaceholderFragment.newInstance(R.layout.setup_fragment_1, position);
        case 1:
            return PlaceholderFragment.newInstance(R.layout.setup_fragment_2, position);
        case 2:
            return SetupChoiceFragment.newInstance();
        case 3:
            return SetupCreateFragment.newInstance();
        case 4:
            return SetupImportFragment.newInstance();
        case 5:
            return SetupRestoreFragment.newInstance();
        }
        return null;
    }
    ...
}
  1. 我应该将页数设置为6才能跳转到所选页面吗?但是如何维护幻灯片动画和PageIndicator总是= 4!
  2. 如何避免下载幻灯片的自动加载或无关紧要?
  3. 我是否应该坚持使用ViewPager或管理片段导航我自己在FragmentTransaction上设置自定义滑动动画(带下一个/后退)而不使用FragmentStatePagerAdapter并在返回时管理backstack?或者向导配置的其他组件是什么?
  4. 此外,如何使用手势动画幻灯片阻止右手动手势,始终在第3页上返回?

0 个答案:

没有答案