# 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
#### 效果演示

#### 安装教程
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)