前言

本文主要给大家介绍了关于Android中GridView布局整体居中的相关内容,是对于自己在项目中遇到问题的一个记录,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

效果图:

示例代码:

/**

* 对高度和宽度进行统计 然后设置gridView的宽高。

* @param numColumns 设定行数

* @param gridView

*/

public static void calGridViewSumWH(int numColumns,GridView gridView) {

// 获取GridView对应的Adapter

ListAdapter listAdapter = gridView.getAdapter();

if (listAdapter == null) {

return;

}

int totalHeight = 0;

int totalWidth = 0;

for (int i = 0,len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()返回数据项的数目

View listItem = listAdapter.getView(i,null,gridView);

listItem.measure(0,0); // 计算子项View 的宽高

totalWidth = listItem.getMeasuredWidth();

if ((i+1)%numColumns == 0) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {

totalHeight += listItem.getMeasuredHeight() + gridView.getVerticalSpacing(); // 统计所有子项的总高度

} else {

totalHeight += listItem.getMeasuredHeight();

}

}

if ((i+1) == len && (i+1)%numColumns != 0) {

totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度

}

}

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {

totalHeight += 20;

}

if (listAdapter.getCount() < numColumns) {

gridView.setNumColumns(listAdapter.getCount());

}

ViewGroup.LayoutParams params = gridView.getLayoutParams();

params.height = totalHeight;

params.width = totalWidth * listAdapter.getCount();

gridView.setLayoutParams(params);

}

使用时相对于父布局,应该是居中的

例: RelativeLayout android:layout_centerHorizontal="true"

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android gridview居中,Android中GridView布局实现整体居中方法示例相关推荐

  1. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  2. python统计单词频率、存放在字典中_Python3实现统计单词表中每个字母出现频率的方法示例...

    本文实例讲述了Python3实现统计单词表中每个字母出现频率的方法.分享给大家供大家参考,具体如下: 作为python字典与数组概念的运用,统计字母表中每个字母出现的频率,作为练习再合适不过. 解决问 ...

  3. TIA博途中使用AT指令实现双字中高低字转换的具体方法示例

    TIA博途中使用AT指令实现双字中高低字转换的具体方法示例 西门子PLC采用的是大端存储,有些PLC品牌或上位机采用的小端存储,那么在通信时为了获得正确的数据,我们需要将一个双字DWORD中的高低字进 ...

  4. python中出栈的方法,python中栈的原理及实现方法示例

    python中栈的原理及实现方法示例 本文实例讲述了python中栈的原理及实现方法.分享给大家供大家参考,具体如下: 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素.访问元素.删除元 ...

  5. TIA博途Wincc中自定义配方画面的具体方法示例

    TIA博途Wincc中自定义配方画面的具体方法示例 前面和大家分享了通过TIA博途自带的配方视图组态配方功能的具体方法,具体内容可参考以下链接中的内容: TIA PORTAL wincc中配方reci ...

  6. Android Studio xml文件中的布局预览视图

    操作系统:Windows 10 x64 IDE:Android Studio 3.3.1 更新了Android Studio之后,xml文件中的布局预览视图变得如此简洁! 原因是没有勾选Show La ...

  7. android actionbar 文字居中,ActionBar设置自定义布局使文字居中

    在ToolBar出现之前,安卓顶部使用的是ActionBar技术,但是系统自带的ActionBar有几个问题,一是系统自带的返回键是一个小于号,Title文字的位置也默认在左边.如果有产品要求我们做出 ...

  8. android全局计时_Android中使用定时器的三种方法

    本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第 ...

  9. html文本字段标签居中,html中实现文本与标签居中的方法

    html中实现文本与标签居中的方法 发布时间:2020-08-31 09:44:08 来源:亿速云 阅读:66 作者:小新 这篇文章主要介绍html中实现文本与标签居中的方法,文中介绍的非常详细,具有 ...

最新文章

  1. 一行命令,瞬间从“马赛克”到高清影像
  2. 后浪们 : 难道要先结婚后恋爱?
  3. docker nginx部署web应用_docker部署Nginx
  4. 小区的足球场地实地拍摄
  5. linux与shell编程指南,LINUX与UNIX SHELL编程指南
  6. 计算机专用英语词汇发音,计算机专用的英语词汇
  7. android 文字fly动画,超好看的下拉刷新动画Android代码实现
  8. 不要怂,就是GAN (生成式对抗网络) (五):无约束条件的 GAN 代码与网络的 Graph...
  9. 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图
  10. C# set和get如何用
  11. 移动测试之-流量测试方案
  12. jenkins 读取json文件_使用插件轻松获取jenkins构建数据
  13. Loadrunner教程
  14. 京东联盟api获取数据
  15. 如何HACK无线家用警报器?
  16. Choerodon猪齿鱼实践之持续交付流水线
  17. 「python爬虫之路day9」:实战之使用正则表达式爬取抓狂网,古诗文网信息
  18. 神经网络对灰度图像的处理转为对彩色RGB图像的处理
  19. plugin插件的安装和使用
  20. vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to mount component: template or render function not d

热门文章

  1. python连通域分割代码,python 验证码连通域分割
  2. 华为手机USB连接成功,ADB识别失败
  3. html+css实现哔哩哔哩游戏网页
  4. iOS立方体翻转3D特效
  5. 工业大数据分析算法及工具
  6. 图数据库 OrientDB 安装 及 初步使用
  7. 一文讲明白以太坊上交易类型含义、作用、发展过程
  8. k8s分离jdkj环境与java程序研究测试
  9. 【观察】维谛技术(Vertiv):以时间价值五力模型践行长期主义,共赴数据中心节碳新征程...
  10. Unity SkinnedMeshRenderer 动态换装系统