Skip to content
单页显示3个Item的ViewPager炫酷切换效果,适用于Banner等。
Java
Branch: master
Clone or download
hongyangAndroid Merge pull request #8 from YangShaoXiong/master
添加ViewPager的循环滚动以及利用clipToPadding属性解决触及屏幕边缘时不能滑动问题
Latest commit 4b5f9d5 Aug 13, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app 添加ViewPager的循环滚动以及利用clipToPadding属性解决触及屏幕边缘时不能滑动问题 Aug 9, 2017
gradle/wrapper
library
screenshot
.gitignore
LICENSE Initial commit May 7, 2016
README.md 增加hack应对imageview center_crop May 7, 2016
build.gradle First Commit May 7, 2016
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

MagicViewPager

单页显示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:欢迎关注我的公众号。

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

You can’t perform that action at this time.