ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安卓recyckerview采用网格流(gridview)控制图片显示大小相同

2021-10-10 23:06:06  阅读:224  来源: 互联网

标签:getWidth gridview glm 安卓 list recyckerview sys getSpanCount GridLayoutManager


需要在一般recyclerview中三处添加代码

先看公式

 宽度 = recyclerView的宽度 ÷ 列数且recyclerView
 宽度 = gridLayoutManager.getWidth();列数 = gridLayoutManage.getSpanCount();
 width = gridLayoutManager.getWidth()/gridLayoutManage.getSpanCount();

在自己定义的适配器中加

public RecyclerViewAdapter(Context context, ArrayList list, OnItemClickListener listener,GridLayoutManager glm) { 
this.list = list;
 this.context = context; 
 this.glm = glm; }

主活动中调用

 GridLayoutManager glm_sys = new GridLayoutManager(getContext(),7);//分为7列 recycler_sys.setLayoutManager(glm_sys); 
 //设置布局管理器 
 recycler_sys.setAdapter(new RecyclerViewAdapter(getContext(),item_list_sys,glm_sys)); 

适配器onBindViewHolder中

 public void onBindViewHolder(SysWebHolder holder, final int position) { 
 ...//省略获取button实例的代码 
 ViewGroup.LayoutParams parm = holder.button_img.getLayoutParams(); 
 parm.height = glm.getWidth()/glm.getSpanCount() - 2*holder.button_img.getPaddingLeft() - 2*((ViewGroup.MarginLayoutParams)parm).leftMargin;
} 

参考

标签:getWidth,gridview,glm,安卓,list,recyckerview,sys,getSpanCount,GridLayoutManager
来源: https://blog.csdn.net/m0_46527751/article/details/120694135

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有