# 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