Android中GridView布局实现整体居中方法示例
发布时间 - 2026-01-11 03:08:50 点击率:次前言

本文主要给大家介绍了关于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"
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# android
# gridview居中
# gridview布局
# 布局居中
# Android中使用GridView进行应用程序UI布局的教程
# Android App中的GridView网格布局使用指南
# Android应用开发中使用GridView网格布局的代码示例
# 相关内容
# 说了
# 不多
# 给大家
# 这篇文章
# 谢谢大家
# 相对于
# 应该是
# 行数
# 有疑问
# calGridViewSumWH
# numColumns
# param
# static
# void
# public
# getAdapter
# null
# return
# listAdapter
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
如何在Ubuntu系统下快速搭建WordPress个人网站?
Python函数文档自动校验_规范解析【教程】
简历没回改:利用AI润色让你的文字更专业
Laravel如何为API生成Swagger或OpenAPI文档
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
香港服务器如何优化才能显著提升网站加载速度?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
微信小程序 配置文件详细介绍
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
打造顶配客厅影院,这份100寸电视推荐名单请查收
Android自定义控件实现温度旋转按钮效果
晋江文学城电脑版官网 晋江文学城网页版直接进入
常州企业网站制作公司,全国继续教育网怎么登录?
网站建设保证美观性,需要考虑的几点问题!
php结合redis实现高并发下的抢购、秒杀功能的实例
如何用西部建站助手快速创建专业网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
如何快速查询域名建站关键信息?
如何批量查询域名的建站时间记录?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
javascript如何操作浏览器历史记录_怎样实现无刷新导航
成都网站制作公司哪家好,四川省职工服务网是做什么用?
香港服务器WordPress建站指南:SEO优化与高效部署策略
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
javascript基本数据类型及类型检测常用方法小结
如何在Windows 2008云服务器安全搭建网站?
大同网页,大同瑞慈医院官网?
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
js实现点击每个li节点,都弹出其文本值及修改

