# UltraViewPager
**Repository Path**: HarmonyOS-tpc/UltraViewPager
## Basic Information
- **Project Name**: UltraViewPager
- **Description**: UltraViewPager是PageSlider的扩展,封装了多个功能,为多页面切换提供解决方案
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2021-04-01
- **Last Updated**: 2025-02-06
## Categories & Tags
**Categories**: harmonyos-view-transition
**Tags**: None
## README
# UltraViewPager
UltraViewPager是PageSlider的扩展,封装了多个功能,为多页面切换提供解决方案。
## 主要特征
* 支持水平和垂直滚动
* 支持循环切换视图
* 支持自动滚动功能
* 具有内置治时期,支持圆圈和图标样式
## 设计
UltraViewPager是PageSilder的扩展,它是一个DependentLayout以便显示PageSlider和indicator,
UltraViewPager为PageSlider提供了常见的方法委托,您可以通过调用getViewPager()来调用更多的方法,
并获取实际的PageSlider。
## 演示
|横向滑动 | 纵向滑动|
|:---:|:---:|
|
|
|
|屏幕两边页面缩进 |切换页面缩放特效|
|:---:|:---:|
|暂不支持|暂不支持|
## entry运行要求
通过DevEco studio,并下载openHarmonySDK
将项目中的build.gradle文件中dependencies→classpath版本改为对应的版本(即你的IDE新建项目中所用的版本)
## 集成
```
方式一:
通过library生成har包,添加har包到libs文件夹内
在entry的gradle内添加如下代码
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
方式二:
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:UltraViewPager:1.0.6'
```
## 使用
在layout中使用UltraViewPager:
ability_pager.xml
```xml
```
可以参考以下步骤使用UltraViewPager:
```
UltraViewPager ultraViewPager = (UltraViewPager) findComponentById(ResourceTable.Id_ultra_viewpager);
ultraViewPager.setScrollMode(UltraViewPager.ScrollMode.HORIZONTAL);
UltraPagerAdapter adapter = new UltraPagerAdapter(PagerSlice.this, false);
ultraViewPager.setProvider(adapter);
//内置indicator初始化
ultraViewPager.initIndicator();
//设置indicator样式
ultraViewPager.getIndicator().setFocusResId(0).setNormalResId(0);
ultraViewPager.getIndicator().setFocusColor(Color.GREEN.getValue()).setNormalColor(Color.WHITE.getValue())
.setRadius(10);
if(ultraViewPager.getIndicator()!=null){
ultraViewPager.getIndicator().setGravity(LayoutAlignment.HORIZONTAL_CENTER|LayoutAlignment.TOP);
}
ultraViewPager.getIndicator().build();
//设定页面循环播放
ultraViewPager.setInfiniteLoop(true);
//设定页面自动切换 间隔2秒
ultraViewPager.setAutoScroll(2000);
```
## 目前仍未实现的功能(待后续补全)
* 一屏展示多个子条目
* 切换的时候执行一些切换特效
## 开源许可证
UltraViewPager遵循MIT开源许可证协议。