Recyclerview列表item设置成等宽高的正方形,通过计算宽度动态赋值

2023-10-30

首先是效果图

然后是关键代码

//onBindViewHolder 给Item元素赋值
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

//获取内容layout的parms
        ViewGroup.LayoutParams parm = holder.layout.getLayoutParams();
//通过获取gridlayoutmanager的个数于宽度动态给parm赋予高度
        parm.height = gridLayoutManager.getWidth()/ gridLayoutManager.getSpanCount()
                - 2 * holder.layout.getPaddingLeft() - 2*((ViewGroup.MarginLayoutParams)parm).leftMargin;


    }

其中的layout为item中的layout,通过以下方法绑定的

   class ViewHolder extends RecyclerView.ViewHolder {
        TextView mText;
        ImageView mImage;
        LinearLayout layout;

        ViewHolder(View itemView) {
            super(itemView);
            layout = itemView.findViewById(R.id.layout);
            mImage = itemView.findViewById(R.id.ItemImageView);
            mText = itemView.findViewById(R.id.item_tx);
        }
    }

gridLayoutManager为GridLayoutManager,在构造函数里传递进来

    public GridItemAdapter(List<GridItemEntity> list, GridLayoutManager gridLayoutManager) {
        this.list = list;
        this.gridLayoutManager =gridLayoutManager;
    }

recyclerView调用方代码如下

     GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
        //设置RecyclerView管理器
        gridListView.setLayoutManager(gridLayoutManager);
        //初始化适配器
        mAdapter = new GridItemAdapter(list,gridLayoutManager);

over

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Recyclerview列表item设置成等宽高的正方形,通过计算宽度动态赋值 的相关文章

  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • MediaCodec 创建输入表面

    我想使用 MediaCodec 将 Surface 编码为 H 264 使用 API 18 有一种方法可以通过调用 createInputSurface 然后在该表面上绘图来对表面中的内容进行编码 我在 createInputSurface
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • 如何在不更改手机语言的情况下更改Android应用程序语言?

    我希望用户在应用程序内选择一种语言 选择语言后 我希望字符串使用特定语言 如果我更改手机语言 那么我的应用程序将以设置的语言运行 我无法找到任何在不更改手机语言的情况下设置语言的方法 此外 一旦设置了语言 更改就应该反映出来 有人可以建议一
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • aix命令tar包命令应用

    打包并压缩gzip格式 利用ftp传输到远程服务器上 tar cvf ciod appuser gzip qc gt ciod appuser tar gzip ftp v n 192 1 1 48 lt
  • 【技巧】如何在 GitHub 上高效阅读源码?

    在 GitHub 上高效阅读源码的方法有以下几种 方法一 github项目页面 按键盘上的 句号 方法二 github项目页面地址栏github com 改为 github dev 方法三 github项目页面地址栏github com 改
  • 信息学奥赛一本通 1176:谁考了第k名

    题目链接 http ybt ssoier cn 8088 problem show php pid 1176 include
  • Operator ‘+‘ cannot be applied to ‘java.lang.String‘, ‘void‘的解决方法

    刚开始报下图错 是因为我在另一个类中定义有返回值void的方法 如图二 一个想要调用另一个的方法 且是字符串的类型的需要将void换成string 并将输出语句换成return 如图 记得最后一行的分号去掉
  • python循环写入excel中的不同sheet_python实现跨excel的工作表sheet之间的复制方法

    python 将test1的Sheet1通过 跨文件 复制到test2的Sheet2里面 包括谷歌没有能搜出这种问题答案 我们贴出代码 我们加载openpyxl这个包来解决 from openpyxl import load workboo
  • Java项目数据脱敏常用技术及Jasypt实战

    数据脱敏在Java项目中是一项非常重要的任务 它可以保护敏感数据 同时符合法规和隐私保护要求 在本篇博客中 我们将介绍数据脱敏的概念以及在Java项目中常用的开源框架和工具的实战应用 什么是数据脱敏 数据脱敏是指将敏感数据进行处理 使其在保
  • styled-components的配置和使用

    在react中 正常的给组件引入css文件 该css文件会直接作用于全局 使用styled components可以有效控制好css作用域 1 安装 yarn add styled components 2 配置并设置全局样式 新建一个js
  • Java实现CNN

    Java实现CNN 算法介绍 CNN的优势 卷积操作 池化操作 网络结构 训练过程 前向传播 反向传播 代码实现 数据模型类Dataset 矩阵尺寸类Size 核心操作类MathUtils Operator OperatorOnTwo接口下
  • 零基础学习Vue: 第21课 Vue 单向数据流父组件的属性值子组件如何更改:

    零基础学习Vue 第21课 Vue定义子组件template的常见3种写法 单向数据流原理 子组件不能直接修改父组件中传递的数据 如需间接改变父组件传递的数据 解决方法 可以在子组件data选项中存储父组件传递的数据之后修改子组件中的数据
  • 解决httpServletRequest.getParameter获取不到参数

    用httpServletRequest getParameter接收post请求参数 发送端content Type必须设置为application x www form urlencoded 否则会接收不到 RequestMapping
  • go语言各种hash哈希算法使用汇总(超详细代码)

    目录 前言 一 首先以md4为例 一 16进制字符串的md4 二 字符串的md4 三 16进制字符串 字符串封装 二 md4 md5 sha1 ripemd160 sha256 sha512 一 导包 二 单个使用 三 md4 md5 sh
  • 使用jsoup选择器来查找元素

    一 用途 使用jsoup解析网页 抓取手机型号和系统信息 二 获取方式 例子 获取终端制造商链接列表 return public List
  • 话题作文汇总

    一 前言 在备考的过程中 研读和学习了多篇英语话题作文 在此将其记录下来 以便加深印象 二 作文列表 Public Role Model s Rights Internet Kills Conversation Generation Gap
  • form表单的对象

    这个是关于表单 表单在HTML中是很重要的一个部分 关于表单的使用 里面的属性和方法不算很多 这里就介绍一下表单的信息 用法 document forms 是一个数组 包含了文档中所有的表单
  • Python学习之------retry(异常重试)

    在做数据抓取的时候 经常遇到由于网络问题导致的程序保存 先前只是记录了错误内容 并对错误内容进行后期处理 原先的流程 def crawl page url pass def log error url pass url try crawl
  • cocos2dx opengl入门系列四-显示图片

    运行环境 mac 10 12 2 xcode Version 8 2 1 cocos2dx x 3 13 1 代码 新建cocos2dx项目 具体操作官网有教程 新建好后 新建Test cpp 代码如下 Test cpp Texture C
  • Shell脚本编程--grep命令详解

    grep简介 grep global search regular expression RE and print out the line 全面搜索正则表达式并把行打印出来 是一种强大的文本搜索工具 它能使用正则表达式搜索文本 并把匹配的
  • window服务器端口短时间使用完导致oracle监听报错

    接到操作人员反馈系统无法登陆 然后连接到服务器 引用服务器检查服务的cpu 内存 磁盘资源都正常 从应用服务器远程数据库服务器发现不能远程 从应用服务器连接数据库连接报TNS超时 怀疑是数据库服务器的问题 从阿里云的控制台连接到数据库服务器
  • 二叉树学习笔记之B树、B+树、B*树

    动态查找树主要有二叉查找树 Binary Search Tree 平衡二叉查找树 Balanced Binary Search Tree 红黑树 Red Black Tree 都是典型的二叉查找树结构 查找的时间复杂度 O log2 N 与
  • Recyclerview列表item设置成等宽高的正方形,通过计算宽度动态赋值

    首先是效果图 然后是关键代码 onBindViewHolder 给Item元素赋值 Override public void onBindViewHolder ViewHolder holder int position 获取内容layou