# ExpandablePager **Repository Path**: chinasoft5_ohos/ExpandablePager ## Basic Information - **Project Name**: ExpandablePager - **Description**: 包含PageSlider的布局,可以在两种状态(展开和折叠)之间垂直滑动。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-09 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ExpandablePager #### 项目介绍 - 项目名称:ExpandablePager - 所属系列:openharmony第三方组件适配移植 - 功能:包含PageSlider的布局,可以在两种状态(展开和折叠)之间垂直滑动。 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio 2.2 Beta1 - 基线版本:0.2.1 #### 效果演示 ![mapbox-gestures-ohos](/screenshots/expandablepager.gif) #### 安装教程 1.在项目根目录下的build.gradle文件中, ```JAVA allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ```JAVA dependencies { implementation('com.gitee.chinasoft_ohos:ExpandablePager:1.0.0') ...... } ``` 在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 1. 首先,您必须在xml中定义ExpandablePager,然后再对应的页面找到ExpandablePager控件. ```xml ``` 2. 定义一个Provider继承ExpandablePagerProvider<...>. ```java /** * BookProvider * * @since 2021-08-02 */ public class BookProvider extends ExpandablePagerProvider { /** * ExpandablePagerProvider * * @param items */ public BookProvider(List items) { super(items); } @Override public Object createPageInContainer(ComponentContainer componentContainer, int position) { ComponentContainer rootView = (ComponentContainer) LayoutScatter.getInstance(componentContainer.getContext()). parse(ResourceTable.Layout_page, componentContainer, false); rootView.setLayoutConfig(new DependentLayout.LayoutConfig(DependentLayout.LayoutConfig.MATCH_PARENT, DependentLayout.LayoutConfig.MATCH_PARENT)); ((Text) rootView.findComponentById(ResourceTable.Id_text)).setText(items.get(position).getDescription()); ((Text) rootView.findComponentById(ResourceTable.Id_header_title)).setText(items.get(position).getTitle()); ((Text) rootView.findComponentById(ResourceTable.Id_header_subtitle)).setText(items.get(position).getAuthor()); ((SimpleDraweeView) rootView.findComponentById(ResourceTable.Id_header).findComponentById(ResourceTable.Id_header_img)).setImageURI(Uri.parse(items.get(position).getUrl())); if (rootView.findComponentById(ResourceTable.Id_cell_img) != null) ((SimpleDraweeView) rootView.findComponentById(ResourceTable.Id_cell_img)).setImageURI(Uri.parse(items.get(position).getUrl())); return attach(componentContainer, rootView, position); } } ``` ExpandablePager添加Provider; ```java pager.setProvider(mBookProvider); ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0 #### 版权和许可信息 [Apache License, Version 2.0](LICENSE)