android设置GridView高度自适应,实现全屏铺满效果

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

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

       // 获取gridView的布局参数
       ViewGroup.LayoutParams params = gridView.getLayoutParams();
       // 设置高度
       params.height = totalHeight;
       // 设置margin
       ((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
       // 设置参数
       gridView.setLayoutParams(params);
   }  

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

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

原文地址:https://www.cnblogs.com/Sharley/p/8656691.html

时间: 2024-11-08 23:48:51

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

div设置全屏(铺满屏幕)

1.如果要以百分比设置元素(div)的尺寸,必要以父元素的尺寸作为参考,如果父元素没有设置尺寸,那么子元素(div)尺寸自然不会生效.2.所以如果设置div的高度为100%,那么他的参考元素就是是body,那么如何设置body的尺寸呢?3.在怪异模式下,body可以作为根元素,设置它的高度为100%的时候(不考虑外边距),body的高度取是浏览器的高度.4.在标准模式下,html元素才是根节点,div的父元素是body,body的父元素是html,然后html设置为100%,取得是浏览器的高度,

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

8行代码教你搞定导航控制器全屏滑动返回效果 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定. 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们的iOS培训课程.陆续还会有更新ing.... 一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能. 系统自带的侧滑效果: 分析: 1.导航控制器的view

iOSUI-导航控制器全屏滑动返回效果

导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能.但是如何实现全屏滑动返回效果? 分析: 第一步分析: 1.导航控制器的view自带了滑动手势,只不过手势的触发范围只能在左边. 2.当用户在界面左边拖动,就会触发滑动手势方法,并且有滑动返回功能,说明系统手势触发的方法已经实现了滑动返回功能. 3.为什么说系统手势触发的方法已经实现了滑动返回功能? 原因: 创建滑动手势对象的时候,需要绑定监听者,当触发手势的时候会调用target的action. UIPanGesture

8行代码教你搞定导航控制器全屏滑动返回效果

http://www.cocoachina.com/ios/20150811/12897.html 作者:@吖了个峥授权本站转载 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定. 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们的iOS培训课程.陆续还会有更新ing.... 一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左

分享10种风格迥异的全屏遮罩层效果

今天,我们想给大家分享一些全屏遮罩效果的灵感.像任何其它的UI组件一样,网页设计不断有新的趋势和风格出现,我们想尝试的遮罩有一些微妙的,还有奇特的效果.这些遮罩的特别之处在于,他们没有像模态窗口那样固定大小而是占据整个屏幕,因此创建效果时,人们必须考虑到这一点. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10

Android Ireader的全屏与非全屏的切换效果实现

ireader在全屏与非全屏切换,整体的阅读view并没有进行明显示的重绘与抖动现像,如果只是单纯的设置activity的全屏与非全屏切换,因为view的大小变动,会有抖动现象出现 而Android只在4.4版本才提供了沉浸式状态拦,而在4.4之前怎么办呢 1.首先直接在AndroidManifest.xml中需要全屏显示的Activity属性中添加 1 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 2.设置act

Android WebView播放视频(包括全屏播放)

最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里总结了一下,希望大家看到后不要再犯类似的错误,尽可能提高开发效率: 这个Demo我这里也参考了网上写的一个比较好的一个Demo,经过总结修改,写出来的. 以下是相应代码: MainActivity: package com.androidwebviewdemo; import android.app.Activity; import android.app.ProgressDialo

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

此场景适用于移动端百分比布局,背景全屏显示. 在一个没有固定宽高的容器中设置背景,想要背景全屏显示,设置宽高100%后还需设置position:absolut; 原因: absolute会脱离normal float, 即该元素会直接以root标签(类似window但不是<html>标签)进行参照,而root标签的高度存在具体数值, 即浏览器视窗高度, 有明确px值. 而relative不会脱离normal float, 他的height会直接依赖直接父元素(em单位也是), 所以百分比计算出

Android中ListVIew高度自适应,解决ScrollView冲突问题以及Android表格

效果图 类似格式, listView_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="ma