今天向大家介绍下第三个开发框架——多样化的ViewPager指示器及其3DViewPager效果。
(一)ViewPager指示器——ViewPagerIndicator
网易新闻的app使用了炫酷的ViewPager指示器,通过滑动页面切换fragment并且有指示效果,参考一些网友的图片:
而今天为大家引入的是github的一个强大的开源框架,ViewPagerIndicator为我们提供了丰富的指示器,参考github图示
github项目链接地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
github项目下载地址:https://codeload.github.com/JakeWharton/Android-ViewPagerIndicator/zip/master
首先给大家介绍下这个的使用,具体为三个步骤,使用起来非常简单且功能十分强大,这便是开源的极大好处!
(1)在ViewPager当前所在的xml布局中添加下述代码
<com.viewpagerindicator.TitlePageIndicator
android:id="@+id/titles"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
(2)在当前初始化ViewPager的activity的onCreat方法或者fragment的onCreatView方法中,绑定ViewPager与Indicator
//Set the pager with an adapter
ViewPager pager = (ViewPager)findViewById(R.id.pager);
pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
//Bind the title indicator to the adapter
TitlePageIndicator titleIndicator = (TitlePageIndicator)findViewById(R.id.titles);
titleIndicator.setViewPager(pager);
(3)如果你想监听指示器变化或者ViewPager滑动,则可以绑定监听器
//continued from above
titleIndicator.setOnPageChangeListener(mPageChangeListener);
介绍到这里,炫酷的指示器我们有了,有些开发者希望能给予指示器,再开发出更漂亮的ViewPager滑动效果,3DViewPager会是你的不错选择。见效果图
如何使用3DViewPager,参考了github开源项目
github 3DViewPager项目链接:https://github.com/inovex/ViewPager3D
github 3DViewPager项目下载:https://codeload.github.com/inovex/ViewPager3D/zip/master
具体实现也分成3个步骤,使用起来也很简单。
(1)自定义3DViewPager,重写ViewPager类,添加动画效果。
package de.inovex.android.widgets.example;
import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Camera;
import android.graphics.Rect;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.ViewConfigurationCompat;
import android.support.v4.view.ViewPager;
import android