使GridView每个item的高度自适应拉伸,达到整个GridView刚好铺满全屏的效果。

public static void setGridViewMatchParent(GridView gridView ) {
// 获取gridView的adapter
ListAdapter adapter = gridView.getAdapter();
if (adapter == null) {
return;
}
// 固定列宽,有多少列
int col = ;// gridView.getNumColumns();
int totalHeight = ;
// i每次加2,相当于adapter.getCount()小于等于2时 循环一次,计算一次item的高度, adapter.getCount()小于等于8时计算两次高度相加
for (int i = ; i < adapter.getCount(); i += col) {
// 获取listview的每一个item
View listItem = adapter.getView(i, null, gridView);
listItem.measure(, );
// 获取item的高度和
totalHeight += listItem.getMeasuredHeight();
} // 获取gridView的布局参数
ViewGroup.LayoutParams params = gridView.getLayoutParams();
// 设置高度
params.height = totalHeight;
// 设置margin
((MarginLayoutParams) params).setMargins(, , , );
// 设置参数
gridView.setLayoutParams(params);
}

注意在使用此方法前要先设置adapter:

代码取自https://blog.csdn.net/jdsjlzx/article/details/45583029

android设置GridView高度自适应,实现全屏铺满效果的更多相关文章

  1. video作为背景全屏铺满问题

    项目中我打算使用一个MP4视频作为登录界面背景,首先在静态页面都没法显示出来,后来发现需要将视频的编码格式转换为H264的格式方能正常显示(使用格式工厂转换即可): 后又发现视频没办法铺满全屏,在不同 ...

  2. [转]Android WebView播放视频(包括全屏播放),androidwebview

    Android WebView播放视频(包括全屏播放),androidwebview 最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里 ...

  3. Android中无标题样式和全屏样式学习

    在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...

  4. iOS开发——实用技术OC篇&8行代码教你搞定导航控制器全屏滑动返回效果

    8行代码教你搞定导航控制器全屏滑动返回效果 前言 如果自定了导航控制器的自控制器的leftBarButtonItem,可能会引发边缘滑动pop效果的失灵,是由于 self.interactivePop ...

  5. 在一个没有设置宽高的容器中,为什么设置position:absolute后就可以全屏显示了?

    此场景适用于移动端百分比布局,背景全屏显示. 在一个没有设置宽高的容器中设置背景,想要背景全屏显示,设置bcakground-size:100%;后还需设置position:absolut; 原因: ...

  6. 如何设置Vmware下Linux系统全屏显示

    环境:Vmware10+RedHat5 在Vmware10中安装好RedHat5后,即使点击了全屏按钮(或使用快捷键Ctrl+Alt+Enter),全屏的效果依然不尽人意,跟下图中差不多,RedHat ...

  7. Android 隐藏虚拟按键,并且全屏

    /** * 隐藏虚拟按键,并且全屏 */protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > ...

  8. uni-app设置 video开始播放进入全屏状态

    有一video标签 <video id="myVideo" :src="videoUrl"></video> 获取 video 上下文 ...

  9. android仿系统Launcher界面,实现分屏,左右滑动效果(ViewSwitcher)

    ViewSwitcher代表了视图切换组件, 本身继承了FrameLayout ,可以将多个View叠在一起 ,每次只显示一个组件.当程序控制从一个View切换到另个View时,ViewSwitche ...

随机推荐

  1. MySql(十一):MySQL性能调优——常用存储引擎优化

    一.前言 MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.本章将介绍最为常用的两种存储引擎进行针对性的优化建议. 二.MyISAM存储 ...

  2. Visual F# Power Tools 简单介绍

    Visual F# Power Tools 简单介绍 Auto-generating XmlDoc 当在函数定义的前面输入 ///< 以后.会自己主动生成 XML 文档.并会自己主动提取函数中的 ...

  3. android 判断点击的位置是不是在指定的view上

    private boolean inRangeOfView(View view, MotionEvent ev){ int[] location = new int[2]; view.getLocat ...

  4. haproxy-1.7.7 源码安装

    安装一下依赖 yum install openssl-devel openssl 编译安装 make TARGET=linux2628 USE_OPENSSL=1 ADDLIB=-lz make in ...

  5. git报错之index.lock

    当想回退到某个版本的时候,用git reset --hard commit_id,发现报错,原因是.git目录下多了个index.lock文件,可以通过rm命令删除,然后再回退 rm -f ./.gi ...

  6. sessionStorage 、localStorage、cookie

     特性  cookie  localStorage  sessionStorage  存储  浏览器端,同源限制   浏览器端,同源限制    浏览器端,同源限制    容量   <=4K  5 ...

  7. 如何矫正罗圈腿(O型腿)

    http://bbs.hupu.com/10787225.html 留着自个儿看

  8. 使用nginx搭建tomcat集群配置

    软件准备: (1)jdk-8u73-linux-x64.tar.gz (2)apache-tomcat-7.0.57.tar.gz (3)nginx-1.7.7.tar.gz 准备3台Linux机器, ...

  9. maven 引入仓库外部jar

    <dependency> <groupId>cn.com.do1</groupId> <artifactId>dqdp-template</art ...

  10. maven copy jar 插件

     插件比较特殊 eclipse下的 首先声明插件 <pluginManagement> <plugin> <groupId>org.apache.maven.plu ...