少年郎,你需要封装好的ViewPager工具类

你是否有遇到这样的问题,每次开发一个新的项目,在 viewpager 这一块上,总是在做重复的东西,比如app引导页,轮播图,
viewpager+fragment 的 tab 指示器等等,这些虽然简单,但却是每个app都要的,而且很耗时,有没有每次在写这个,都很无语的感觉呢?

基于上面这种情况,ViewPagerHelper 就诞生了。ViewPagerHelper 是一个能快速帮你的完成 app引导页,轮播,和viewpager 指示器的工具,
内面内置了常用属性,满足你日常对油腻的师姐的一切幻想,解放你的双手,释放你的灵魂。。。。。

ViewPagerHelper

这是一个 viewpager 的工具类,可以帮助你快速实现,app启动页、图片轮播、viewpager + fragment 等功能,并添加多种指示器功能

How to use

这里用的是 jitpack 这个网站,所以:

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

然后在你的 module 中添加:

compile 'com.github.LillteZheng:ViewPagerHelper:v0.1'

目前还只是添加了app首次启动引导页,还是图片轮播图;后期将会加入更多的内容

效果图

首先,大家最常用到的就是轮播图了,这里给大家提供了 4 中常用的 Indicator

1、轮播图

第一个,仿魅族的轮播图,加底部放大圆点:

《少年郎,你需要封装好的ViewPager工具类》 这里写图片描述

这里解释一下底部圆点放大的原理,其实非常简单,就是用一个 shade,里面配置成 圆点,然后在代码中去设置透明度和放大缩小,就是这么简单;小伙伴们可以先按照这个思路自己做一下,或者可以下载代码验证一下。

第二个,现在比较流行的弧形图片

《少年郎,你需要封装好的ViewPager工具类》 这里写图片描述

这个是比较流行的,像淘宝,京东这些,都用了这个;这个弧形imageview 呢,也很简单,相信学习过抛物线大神的自定义专栏,这个马上就能想到了用什么方法了;没错,就是用 BitmapShader,对图片进行裁剪,所以,我们可以用 path 把要绘制的形状弄出来,再用 BitmapShader 对图片进行裁剪即可。

如果你要使用弧形图片,可以用 ArcImageView 这个控件,可以这样配置:

 <!--弧形图片,arc_height 为弧度的高度-->
    <com.zhengsr.viewpagerlib.view.ArcImageView
        android:id="@+id/arc_icon"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:arc_height="15dp"
        android:scaleType="centerCrop"/>

第三个,底部指示器是移动的,看起来比较舒服

《少年郎,你需要封装好的ViewPager工具类》 这里写图片描述

TransIndicator 提供了两种,一个是如图的椭圆形,还是就是圆点,可以选择自己喜欢的。它的原理呢,其实也不难,就是先写好4个小圆条,然后再绘制白色的圆条,再根据 viewpager 的 onPageScrolled 获取距离的变化,改变 canvas.translate 的绘制位置即可。

第四个,底部指示器文字版本

《少年郎,你需要封装好的ViewPager工具类》 这里写图片描述

详细介绍,可以看这篇博客:
http://blog.csdn.net/u011418943/article/details/78493002

    原文作者:夏至的稻穗
    原文地址: https://www.jianshu.com/p/f69bea69be6b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞