演示

image

需求

满足0-9个图的适配

图数量

演示

1

image

2

image

3

image

4

image

5

image

6

image

7

image

8

image

9

image

使用

手动设置

android:layout_width="match_parent"

android:layout_height="wrap_content"

app:ngl_gridSpace="10dp"

app:ngl_oneChildHeight="300dp">

style="@style/Img"

android:src="@drawable/ic_fox" />

style="@style/Img"

android:src="@drawable/ic_deef" />

在RecyclerView中使用通过设置 NineGridAdapter

NineGridAdapter源码:

public abstract class NineGridAdapter {

protected abstract View getItemView(ViewGroup parent, int position);

protected abstract void bindView(View view, int position);

protected abstract int getItemCount();

protected void onItemClick(View view, int position) {

}

}

eg:通过继承NineGridAdapter 详见demo

private static class NineImageAdapter extends NineGridAdapter {

private List mUrls;

public NineImageAdapter(List urls) {

mUrls = urls;

}

@Override

protected View getItemView(ViewGroup parent, int position) {

return LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_img, parent, false);

}

@Override

protected void bindView(View view, int position) {

String url = mUrls.get(position);

ImageView imageView = view.findViewById(R.id.iv);

Picasso.with(view.getContext())

.load(url)

.placeholder(R.drawable.ic_heart)

.into(imageView);

}

@Override

protected int getItemCount() {

return mUrls == null ? 0 : mUrls.size();

}

@Override

protected void onItemClick(View view, int position) {

super.onItemClick(view, position);

Toast.makeText(App.getInstance(), "position " + position, Toast.LENGTH_SHORT).show();

}

}

属性

app:ngl_gridSpace="10dp"

app:ngl_oneChildHeight="200dp"

属性说明

属性值

说明

ngl_gridSpace

间距

默认20px

ngl_oneChildHeight

当只有一个图的时候的高度

默认400px

android 九宫格封装,Android 九宫格布局相关推荐

  1. android 九宫格封装,Android 九宫格的实现方法

    1.xml代码: android:orientation="vertical" android:layout_width="fill_parent" andro ...

  2. android vitamio封装,Android视频框架Vitamio构建自己的通用播放器

    Vitamio是Android和iOS平台上的全方位多媒体开发框架,完全支持硬件解码和GPU渲染. Vitamio功能强大手机上的万能播放器,可以平滑播放720P或1080P HD MKV,FLV手机 ...

  3. android 九宫格封装,Android 实现九宫格、点击图片放大全屏浏览等

    live_icon.jpg 1370473-587d9058f76372fb.gif 说说我的实现思路: 逐渐掌握了Android开发套路,是时候自己去封装一些东西了.网上看了一些例子,感觉不是我想要 ...

  4. android适配器封装,Android万能适配器(一)封装ViewHolder

    封装 ViewHolder 简单分析ViewHolder封装.ViewHolder内部正常是保存每个页面控件的索引,那么封装时候我们可以使用容器把每个Item布局中的所有控件存储到这个容器里面,每次使 ...

  5. android动画封装,Android属性动画封装,快速构建动画

    Android实现动画效果的方式主要有帧动画.补间动画.属性动画.关于安桌动画的基础知识可以查看这篇文章Android属性动画完全解析 这里我要讲的是如何快速构建出一个动画效果,如下图: 如果我们用属 ...

  6. android websocket封装,Android WebSocket 方案选型OkHttp

    目前Android WebSocket 框架 主要包括: SocketIO Java-WebSocket OkHttp WebSocket 一开始我首选的是采用SocketIO方案,因为考虑该方案封装 ...

  7. android动画封装,Android开场动画类完整实现代码

    本文所述实例为在android中开起开场动画类,已封装好,进行android开发的朋友可使用.在这个类中,你可以:设置开场动画的图片资源.返回下一个要启动的Activity.显示开场动画.执行耗时的操 ...

  8. android 多线程封装,Android线程池封装库

    目录介绍 1.遇到的问题和需求 1.1 遇到的问题有哪些 1.2 遇到的需求 1.3 多线程通过实现Runnable弊端 1.4 为什么要用线程池 2.封装库具有的功能 2.1 常用的功能 3.封装库 ...

  9. android 多线程封装,Android 线程池的封装

    GlobalThreadPools.java: /** * 全局使用的线程池 */ public class GlobalThreadPools { private static String TAG ...

最新文章

  1. Java中stringBuilder
  2. windows server 2008 - 创建域和本机用户
  3. 阿德:工作与发财之间的秘密
  4. Ubuntu Apache 服务之 PHP 配置
  5. python 视频 灰度 伽玛_moviepy音视频剪辑:lum_contrast什么时候使用以及图像处理什么时候需要调整亮度与对比度...
  6. java使用迭代器删除元素_使用Java从地图中删除元素
  7. laraval使用sqlite设置从多少开始递增
  8. 云原生数据库如何打造业务弹性
  9. C#设计模式之3-建造者模式
  10. disable path length limit_通过Antsword看绕过disable_functions
  11. 数组后存入数据、删除指定内容数据
  12. 全系统可用PhotoshopCS6纯净版下载(亲测)支持Win10
  13. 你真的了解LinkedBlockingQueue的put,add和offer的区别吗
  14. 2021年江苏省高考数据统计:江苏省普通类报名人数30.9万人,本土167所高校(2所985大学)
  15. 基础用户登录测试用例-最全用例设计
  16. 大数据分析引擎-Doris简要介绍
  17. 基于阻抗控制的工业机器人轨迹跟踪系统 Simulink/Simscape 仿真
  18. loadrunner 12 --录制手机app脚本
  19. http-equiv=“X-UA-Compatible“是什么意思?
  20. 【无标题】非专业45岁,目标:Python对表格的识别转换。(1)基础识别

热门文章

  1. 计算机等级考试真题演示,全国计算机等级考试二级真题测试(答案)四、演示文稿题-日...
  2. Java IdentityHashMap put()方法与示例
  3. Java StringBuilder length()方法与示例
  4. 2021年终总结:30多岁依然没有放弃自我成长!
  5. 面试官:如何实现 List 集合去重?
  6. IDEA写sql语句的时候没有提示信息的处理办法
  7. html 按钮光束,图文详解,原来3dmax光束特效的制作这么简单!
  8. c语言中的运算符按位或,|按位或运算符
  9. 通达信公式大全_通达信MACD金叉的选股公式大全
  10. win11 32位官方版原版镜像文件v2021.07