GridVew Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应.docVIP

GridVew Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GridVew Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应

GridView Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应! ?昨天用到GridView,但是遇到几个问题,就是GridView默认的item其实大小是一致的,但是我们经常会遇到item大小不同,系统默认会留白的问题,很头疼!如下图这样的: ???? 就会造成,右图所示,左右大小不一致,中间还留了一块,给人的感觉太差了!! 那如何保证GridView自适应且看起来更美观呢? 达到这样的效果呢?? 度娘搜索了,google了,还是没找到好的方法!!但是在一篇blog里得到了 一个思路,就是把GridView对象传进到adapter 里面,然后去动态设置item的height。 这样做就行: 贴出部分关键代码: private GridView gv; public AtypeAdapter(GridView gv, Context context, ListAtypeEntity list) { this.gv = gv; this.context = context; this.data = list; } ?GridView对象传到对应的adapter里面,? 网上很多人人也说了,得到GridVeiw的总的height,然后除以总共的Rows就可以设置所有的行的item高度一致了。但是对于GridView来说,adapter数据都没绑定,怎么可能得到高度呢? 还有一点是,咱们的GridView的每个item的高度是不确定的,就算你算出了GridView的总高度,然后跟item的rows做除法,得到的每行的高度,得到的效果也不是想要的,因为有的item会很大,会比平局高度还大,那会显示不全,有的item会比较小,比平均高度还小很多,会导致留白很大!效果很差!!? 我的adapter的每一个item 里面包含了三个textview,textview的内容文字的长度是不固定的,所以按照平均值来写死每个item的高度,是不理想的,也是不行的。 那怎么办?? 这么写: 传入的GridView之后, public View getView(int position, View convertView, ViewGroup parent) { Holder holder; if (convertView == null) { holder = new Holder(); convertView = View.inflate((Activity) this.context, R.layout.atype_adpter, null); holder.atype_serial_num = (TextView) convertView .findViewById(R.id.atype_serial_num); holder.atype_name = (TextView) convertView .findViewById(R.id.atype_name); holder.atype_kusercode = (TextView) convertView .findViewById(R.id.atype_code); convertView.setTag(holder); // 绑定listener监听器,检测convertview的height holder.update(); } else { holder = (Holder) convertView.getTag(); } holder.atype_serial_num.setText((position + 1) + ); holder.atype_name.setText(data.get(position).getAfullname()); holder.atype_kusercode.setText(data.get(position).getAusercode()); // 绑定tag holder.atype_kusercode.setTag(position); // 绑定当前的item,也就是convertview holder.atype_name.setTag(convertView); return convertView; } public class Holder { public TextView atype_serial_num; public TextView atype_na

文档评论(0)

enxyuio + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档