# NineGridImageView
**Repository Path**: cjjjune/NineGridImageView
## Basic Information
- **Project Name**: NineGridImageView
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-07-01
- **Last Updated**: 2021-08-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# NineGridImageView
#### 项目介绍
- 项目名称:NineGridImageView
- 所属系列:openharmony的第三方组件适配移植
- 功能:这是一个自定义控件 , 用来展示Grid类型的照片, 就像微博图片和微信朋友圈图片展示一样
- 项目移植状态:主功能完成
- 调用差异:无
- 基线版本:release Master
- 开发版本:sdk5,DevEco Studio2.1 Release
#### 效果演示
#### 安装教程
1.在项目根目录下的build.gradle文件中,
```java
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
}
}
}
```
2.在entry模块的build.gradle文件中,
```java
dependencies {
implementation 'io.openharmony.tpc.thirdlib:NineGridImageView:0.0.1-SNAPSHOT'
......
}
```
在sdk5,DevEco Studio2.1 Release下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
#### 使用说明
1.XML中添加NineGridImageView控件:
```xml
```
2.设置Adapter
```java
nineGridImageView.setAdapter(nineGridAdapter);
```
```java
/**
* 实现一个NineGridImageViewAdapter
*/
NineGridImageViewAdapter nineGridAdapter = new NineGridImageViewAdapter() {
@Override
protected void onDisplayImage(Context context, Image imageView, String s) {
Glide.with(context)
.load(s)
.placeholder(ResourceTable.Media_ic_default_image)
.into(imageView);
}
@Override
protected Image generateImageView(Context context) {
return super.generateImageView(context);
}
@Override
protected void onItemImageClick(Context context, Image imageView, int index, List list) {
new ToastDialog(context).setText("image position is " + index).setDuration(2000).show();
}
@Override
protected boolean onItemImageLongClick(Context context, Image imageView, int index, List list) {
new ToastDialog(context).setText("image long click position is " + index).setDuration(2000).show();
return true;
}
};
```
4.设置数据
```java
nineGridImageView.setImagesData(List imageDataList);
```
5.设置单独的监听
```java
mNineImageView.setItemImageClickListener(new ItemImageClickListener() {
@Override
public void onItemImageClick(Context context, ImageView imageView, int index, List list) {
}
});
```
#### 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
#### 版本迭代
- 0.0.1-SNAPSHOT