android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题
问题描述:
在写之前,先把问题的图贴出来,问题如下图,GridView的第一个item的自定义高度显示不正常(再次加载之后又正常),不是预设的高度:
解决方法:
首先需要申明,这个GridView 的适配器用的是BaseAdapter,在定义适配器的getView方法中,主要注意代码中/***********/标记的地方,下面贴出我的getView方法:
public View getView(int position, View convertView, ViewGroup parent) {
GirdHolder holder;
if(convertView == null){
holder = new GirdHolder();
convertView = LayoutInflater.from(getApplication()).inflate(R.layout.gridview_item, null);
//set item's height
GridView.LayoutParams param = new GridView.LayoutParams(
android.view.ViewGroup.LayoutParams.MATCH_PARENT,(gvList.getHeight()-(1+level)*16)/level);
convertView.setLayoutParams(param);
holder.imgView = (ImageView) convertView.findViewById(R.id.image);
convertView.setTag(holder);
}else{
holder = (GirdHolder) convertView.getTag();
//fix the problem of first item's height is not normal
/******************一定要把设置高度的代码再写在这个位置******************************/
convertView.setLayoutParams(new GridView.LayoutParams(
android.view.ViewGroup.LayoutParams.MATCH_PARENT,(gvList.getHeight()-(1+level)*16)/level));
/************************************************/
}
if(status[position] == 0){
holder.imgView.setImageResource(R.drawable.smile_yellow);
}else{
holder.imgView.setImageResource(R.drawable.smile_bule);
}
return convertView;
}
再贴上解决后的效果图:
android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题相关推荐
- Android开发:自定义GridView/ListView数据源
http://mobile.51cto.com/android-259861.htm 在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮 ...
- Android应用插件式开发解决方法[转]
一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此时可能就需要考虑如何分 ...
- android listview中item倒计时,GitHub - TangAnna/ListViewTimer: 列表中每一个item都有计时器 (可实现倒计时或者计时器的功能)...
ListViewTimer 列表中每一个item都有计时器 (可实现倒计时或者计时器的功能) 项目中有时会遇到列表中含有倒计时或者是计时器的需求,实现的方式有很多种,此Demo中是使用Thread + ...
- 从tabBarController的一个item上的控制器跳转到另一个item上的控制器
先从习惯性的tabBarController开始,很多应用的外框都是用这个开始的,而从tabBarController的一个item上的控制器跳转到另一个上的,往往都是直接通过点击tabBar上的不同 ...
- Android应用插件式开发解决方法
一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此时可能就需要考虑如何分 ...
- android 瀑布流 空白,Android瀑布流优化,解决Recyclerview展示大批量图片时Item自动切换、闪烁、空白等问题...
本文涉及的代码案例可以在下方的链接中找到,如果对你有帮助,请给个Star(#^.^#) 问题分析 这段时间业务需求用到RecyclerView瀑布流加载并展示大批量图片,但一开始单纯使用Recycle ...
- 开发 Spring 自定义视图和视图解析器
Spring 视图和视图解析器简介 什么是 Spring 视图和视图解析器 Spring MVC(Model View Controller)是 Spring 中一个重要的组成部分,而 Spring ...
- android gridview控件使用详解_Android开发实现自定义日历、日期选择控件
点击上方蓝字关注 ?? 来源: wenzhihao123 https://www.jianshu.com/p/a2f102c728ce 前言 最近项目需要日历效果,考虑用第三方的反而不太适合设计需求, ...
- android gridview item 点击,Android-取消GridView/ListView item被点击时的效果
方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...
最新文章
- micropython stm32f103_micropython
- Linux服务器上挂载window本地iso镜像文件的方法。
- android 浏览器源码分析,从源码出发深入理解 Android Service
- [转]int.ToString()输出不同格式的数字字符串
- G面经prepare: Pattern Match
- 你要知道动机何在吗?
- 容量法和库仑法的异同点_快速搞懂「活性污泥法」,主要把握这4点!
- linux中软件包管理
- python加密模块教程_Python加密模块的hashlib,hmac模块使用解析
- Linux内核深入理解系统调用(1):初始化-入口-处理-退出
- 神经网络在游戏中的应用,神经网络控制应用实例
- ios 扫描本地音乐_iOS如何获取本地的音乐歌曲mp3的信息数据
- 这套Github上40K+star面试笔记,可以帮你搞定95%以上的Java面试
- 【微信H5】分享出去是链接,不是卡片的原因及解决方案
- “杜拉拉思维模式”之五:面试礼仪速成
- tensorflow入门教程(三十五)facenet源码分析之MTCNN--人脸检测及关键点检测
- 【学习笔记】大三集中实训做的一个微信小程序之点餐系统(静态页面不包含java后台逻辑)
- Angular Material 学习笔记 Chips
- 小学数学考试系统java_C语言项目小学生数学考试系统参考
- QT 中Socket客户端与服务器异常断开后重连