AutoGridView:轻松实现微信朋友圈九宫格、点击添加更多、点击收起等功能

AutoGridView

关于

AutoGridView使用ViewGroup实现,可以如QQ空间与微信朋友圈中的照片那种九宫格方式排布(注:此处的九宫格排列不仅仅是可以按照QQ控件那种九宫格排布,只要宫格的个数达到可以开平方的要求(1x1,2x2,3x3,4x4…),都会按照正方形排列),同时AutoGridView也可以实现普通的宫格排布方式。此外AutoGridView还可以控制显示的行数和列数,这个在需要实现 点击展开更多点击收起 中还是非常有用的。AutoGridView可以设定宫格的高,也可以采用默认的高,默认的高与宫格的宽相等。

AutoGridView还采用了Adapter模式,使用方式就如同ListView和Adapter搭配一样简单,可以 自定义item ,更加灵活!对于item,也使用了简单的缓存复用,减少性能消耗…

推荐

  • ImageViewer 图片预览器,仿朋友圈和今日头条图片预览效果

演示

先来看看效果把!

demogifdemo.gif

添加依赖

  • 使用Gradle
   // 注:如果添加依赖成功,则此句不必添加,此句作用仅为当项目在被审核时,紧急需要使用时添加
   allprojects {
       repositories {
           ...
           // 如果添加依赖时,报找不到项目时(项目正在审核),可以添加此句maven地址,如果找到项目,可不必添加
           maven { url "https://dl.bintray.com/albertlii/android-maven/" }
       }
    }
    
    dependencies {
         compile 'com.liyi.view:auto-gridview:1.1.3'
    }
  • 使用Maven
   <dependency>
      <groupId>com.liyi.view</groupId>
      <artifactId>auto-gridview</artifactId>
      <version>1.1.3</version>
      <type>pom</type>
   </dependency>

自定义属性

  • agv_mode(网格图的模式,默认为 nine)

    • nine(类似QQ空间、微信朋友圈的九宫格类型网格图)
    • normal(依次显示网格的普通类型网格图)
  • agv_row(item 的行数,默认为 3)

  • agv_column(item 的列数,默认 为3)

  • agv_item_height(item 的高度,默认与宫格图的宽相等)

  • agv_horizontal_space(网格间的横向间距,默认为 10px)

  • agv_vertical_space(网格间的纵向间距,默认为 10px)

  • agv_nines_widthper(九宫格模式下,单个 item 时,item 的宽占 parent 的可用总宽的比例(范围0-1),默认为自适应)

  • agv_nines_heightper(九宫格模式下,单个 item 时,item 的高与 parent 的可用总宽的比(范围0-1),默认为自适应)

使用方法

XML 中添加 AutoGridView

<com.liyi.grid.AutoGridView
    android:id="@+id/autoGridVi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

代码中使用 AutoGridView

1、三种适配器
2、简单使用

例:(注:此处使用的 SimpleAutoGridAdapter)
mAdapter = new SimpleAutoGridAdapter<Integer, BaseAutoGridHolder>(mImageList);
mAdapter.setImageLoader(new SimpleAutoGridAdapter.ImageLoader<Integer>() {
    @Override
    public void onLoadImage(int position, Integer item, ImageView imageView) {
        imageView.setImageResource(item);
    }
});
autoGridVi.setAdapter(mAdapter);

github传送门

https://github.com/albert-lii/AutoGridView

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现仿微信朋友圈九宫格相册,你可以使用Android实现的一个开源项目,该项目提供了九宫格图片的预览、拖动、放大、左右滑动和长按保存到手机的功能。你可以在GitHub上找到该项目的源码,点击链接\[1\]即可下载。此外,还有一篇教程介绍了如何使用Django来实现仿微信朋友圈九宫格相册,该教程会分成两部分发布,你可以持续关注\[2\]。在该教程中,你需要对Python、Django、HTML、CSS和Javascript有一定的了解。如果你对RecyclerView的适配器RvAdapter.java感兴趣,可以参考其中的代码实现\[3\]。 #### 引用[.reference_title] - *1* *3* [Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右...](https://blog.csdn.net/qq_35091074/article/details/123085791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [世界那么大,我想去看看。Django仿微信朋友圈九宫格相册(1)](https://blog.csdn.net/weixin_42134789/article/details/80656306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值