# ViewPagerIndicator_ohos **Repository Path**: isrc_ohos/view-pager-indicator ## Basic Information - **Project Name**: ViewPagerIndicator_ohos - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2021-05-12 - **Last Updated**: 2021-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: HarmonyComponent ## README # ViewPagerIndicator_ohos **本项目基于开源项目ViewPagerIndicator进行鸿蒙化的移植和开发,可以通过项目标签以及github地址( https://github.com/LuckyJayce/ViewPagerIndicator )追踪到原安卓项目版本** #### 项目介绍 - 项目名称:页面滑动组件ViewPagerIndicator - 所属系列:鸿蒙的第三方组件适配移植 - 功能:页面滑动指示器 - 项目移植状态:核心功能完成 - 调用差异:无 - 项目发起作者:徐泽鑫 - 开发版本:sdk5,DevEco Studio2.1 beta3 - 联系方式:isrc_hm@iscas.ac.cn - 原项目Doc地址:https://github.com/LuckyJayce/ViewPagerIndicator #### 效果演示 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0429/162535_466b6bd9_8558169.gif "display.gif") #### 项目介绍 - 编程语言:Java 页面滑动指示器的主要功能是:可以通过滑动切换不同的页面,页面上方的页面指示器指示当前正在展示的页面。 本项目基于鸿蒙现有的接口和方法对该安卓组件进行鸿蒙化的移植和开发。 #### 安装教程 1. 下载library的har包library-debug.har(位于outputs文件夹下)。 2. 启动 DevEco Studio,将下载的har包,导入工程目录“entry->libs”下。 3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下jar包的引用。 ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) …… } ``` 4. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,点击“OK”即引用成功。 #### 使用说明 组件主要由滑动页面和页面指示器组成。 滑动页面用于展示页面的主要内容可通过滑动切换不同的页面,页面指示器用于指示当前正在展示的页面。 1. 页面滑动指示器组件有以下实现细节: 滑动页面可通过左滑切换到下一个页面,通过右滑切换到上一个页面。 页面指示器随页面的滑动切换而改变,始终指示当前正在展示的页面,也可通过点击页面指示器的tab迅速切换到指定的页面。 2.接口和实现 ``` ViewPager继承自PageSlider slideLock() 设置页面不可滑动 setCanSlide() 设置页面可滑动 isCanScroll() 判断是否可滑动 setProvider(PageSliderProvider provider) 设置滑动页面适配器 addPageChangedListener(PageSlider.PageChangedListener listener) 设置页面滑动监听器 其中页面滑动监听器中的方法有: onPageSliding(int i, float v, int i1) 页面正在滑动时调用该方法进行相应操作 onPageSlideStateChanged(int i) 页面状态改变时调用该方法进行相应操作 onPageChosen(int i) 页面被选中时调用该方法进行相应操作 PagerAdapter继承自PageSliderProvider setPages(ArrayList pages) 设置创建可滑动页面需要的组件 getCount() 获得可滑动的页面总数 createPageInContainer(ComponentContainer componentContainer, int i) 创建可滑动页面 destroyPageFromContainer(ComponentContainer componentContainer, int i, Object o) 删除指定的可滑动页面 isPageMatchToObject(Component component, Object o) 判断页面与指定的Object是否相关 CommunityTabListener实现了TabList.TabSelectedListener setViewPager(ViewPager viewPager) 与滑动页面进行绑定 onSelected(TabList.Tab tab) 页面指示器的某个tab被选中时调用该方法进行相应操作 onUnselected(TabList.Tab tab) 页面指示器的某个tab被取消选中时调用该方法进行相应操作 public void onReselected(TabList.Tab tab) 页面指示器的某个tab被再次选中时调用该方法进行相应操作 FixedIndicatorView setTabListListener(TabList.TabSelectedListener tabSelectedListener) 设置页面指示器的监听器 setIndicatorStyle(int style) 设置页面指示器的UI风格 setFixedIndicator(boolean b) 设置页面指示器的tab尺寸固定且相等 ``` #### 版本迭代 - v0.1.0 #### 版权和许可信息 - ViewPagerIndicator_ohos经过[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0)授权许可。