实现JazzyViewPager

时间:2014-01-14 00:12:28

标签: animation webview android-viewpager

HERE的其他问题分支,我想尝试实施JazzyViewPager。我尝试按照设置说明以及本网站上的其他一些帖子,但无法使其正常工作,只是执行了ViewPager操作。

以下是我正在使用的相关未触及(与之前删除的AIDE同步问题)代码。

MainActivity:

pageAdapter = new MyPagerAdapter(getSupportFragmentManager());
final ViewPager pager = (ViewPager) findViewById(R.id.myViewPager);
pager.setAdapter(pageAdapter);
pager.setOffscreenPageLimit(1);
pager.setPageMarginDrawable(R.color.pager_bg);

MyPagerAdapter:

package com.chris.myapp;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import com.chris.myapp.fragment.Shoutbox;
import com.chris.myapp.fragment.WebViewFragment;

import java.util.ArrayList;
import java.util.List;

public class MyPagerAdapter extends FragmentPagerAdapter {
    public static final int WEBVIEW_FRAGMENT_POSITION = 0;
    public static final int SHOUTBOX_FRAGMENT_POSITION = 1;

    private List<Fragment> fragments;

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);

        this.fragments = new ArrayList<Fragment>();
        fragments.add(new WebViewFragment());
        fragments.add(new Shoutbox());
    }

    public Fragment getItem(int position) {
        return fragments.get(position);
    }

    public int getCount() {
        return fragments.size();
    }
}

content.xml中

<android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/myViewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#111" />

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以获取包库here

你的内容xml应该是:

<packagename.JazzyViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myViewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#111" />

您可以通过以下方式调用MainAdapter类来初始化对象和各种屏幕:

JazzyViewPager mPager = (JazzyViewPager)findViewById(R.id.pager);
mPager.setAdapter(new MainAdapter());

可以使用各种过渡效果,如:

public enum TransitionEffect {
    Standard,
    Tablet,
    CubeIn,
    CubeOut,
    Flip,
    Stack,
    ZoomIn,
    ZoomOut,
    RotateUp,
    RotateDown,
    Accordion
}

所有这些动画都放在JazzyViewPager类中,您可以通过以下方式调用上述动画中的任何一个:

mPager.setTransitionEffect(TransitionEffect.*);

我希望答案有所帮助。我仍然无法做到这一点然后我可以发布我实现JazzyViewPager的代码。