欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安卓项目实战之阿里巴巴开源的ViewPager封装库UltraViewPager

程序员文章站 2022-06-09 15:55:18
...

简介

UltraViewPager是一个封装多种特性的ViewPager,主要是为多页面切换场景提供统一解决方案。
GitHub地址:https://github.com/alibaba/UltraViewPager

主要功能

1,支持横向滑动/纵向滑动
2,支持一屏内显示多页
3,支持循环滚动,
4,支持定时滚动,计时器使用Handler实现
5,支持设置ViewPager的最大宽高
6,setRatio按比例显示UltraviewPager
7,内置indicator,只需简单设置几个属性就可以完成展示,支持圆点和Icon;
8,内置两种页面切换动画效果
以上特性支持同时使用

添加依赖

在app的build.gradle文件中添加:

compile ('com.alibaba.android:ultraviewpager:[email protected]') {
	transitive = true
}

开始使用

1,布局文件中使用:

<com.tmall.ultraviewpager.UltraViewPager
    android:id="@+id/ultra_viewpager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:background="@android:color/darker_gray" />

2,代码中设置:

UltraViewPager ultraViewPager = (UltraViewPager)findViewById(R.id.ultra_viewpager);
ultraViewPager.setScrollMode(UltraViewPager.ScrollMode.HORIZONTAL);
//UltraPagerAdapter 绑定子view到UltraViewPager
PagerAdapter adapter = new UltraPagerAdapter(false);
ultraViewPager.setAdapter(adapter);

//内置indicator初始化
ultraViewPager.initIndicator();
//设置indicator样式
ultraViewPager.getIndicator()
    .setOrientation(UltraViewPager.Orientation.HORIZONTAL)
    .setFocusColor(Color.GREEN)
    .setNormalColor(Color.WHITE)
    .setRadius((int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, getResources().getDisplayMetrics()));
//设置indicator对齐方式
ultraViewPager.getIndicator().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
//构造indicator,绑定到UltraViewPager
ultraViewPager.getIndicator().build();

//设定页面循环播放
ultraViewPager.setInfiniteLoop(true);
//设定页面自动切换  间隔2秒
ultraViewPager.setAutoScroll(2000);

api接口文档说明:https://github.com/alibaba/UltraViewPager/blob/master/ATTRIBUTES-ch.md
具体demo查看GitHub上说明。

相关标签: ViewPager