MagicViewPager

Introduction: 单页显示 3 个 Item 的 ViewPager 炫酷切换效果,适用于 Banner 等。
More: Author   ReportBugs   OfficialWebsite   
Tags:

单页显示 3 个 Item 的 ViewPager 炫酷切换效果,适用于 Banner 等。

效果图

  • Rotate Y

  • Rotate Down

  • Rotate Up

  • Alpha

  • ScaleIn

  • ScaleIn + Alpha + Rotate Down

使用

(1)引入

compile `com.zhy:magic-viewpager:1.0.1`

(2)示例

  • 布局文件
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="160dp"
    android:clipChildren="false"
    android:layout_centerInParent="true"
    android:background="#aadc71ff"
    >
    <android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="match_parent"
        android:layout_marginLeft="60dp"
        android:clipChildren="false"
        android:layout_marginRight="60dp"
        android:layout_height="120dp"
        android:layout_gravity="center"
        >
    </android.support.v4.view.ViewPager>

</FrameLayout>

注意外层android:layout_centerInParent="true".

  • 编码
mViewPager.setPageMargin(20);//设置 page 间间距,自行根据需求设置
mViewPager.setOffscreenPageLimit(3);//>=3
mViewPager.setAdapter...//写法不变

//setPageTransformer 决定动画效果
mViewPager.setPageTransformer(true, new 
                            RotateDownPageTransformer());

目前可选动画

  • AlphaPageTransformer
  • RotateDownPageTransformer
  • RotateUpPageTransformer
  • RotateYTransformer
  • NonPageTransformer
  • ScaleInTransformer

动画间可以自由组合,例如:

mViewPager.setPageTransformer(true, 
    new RotateDownPageTransformer(new AlphaPageTransformer(new ScaleInTransformer())));

致谢

本文是我在审公众号投稿时,由本篇文章产生灵感:Android 超高仿 QQ 附近的人搜索展示(一) ,ps:欢迎关注我的公众号。

除上文外编码过程中参考:

Apps
About Me
Google+: Trinea trinea
GitHub: Trinea