GridView 内容居中显示方法

rabbitinhere 2016-05-04 10:10:30
因为用到这个功能,但csdn里 http://bbs.csdn.net/topics/380201062#new_post 居然说GridView不可以居中。经过跟同事讨论,实际是可以简单的用GridView实现的,在这里发帖避免其他同学被误导。

当一行只有两个时,gridview默认居左显示。其实是因为没设置“NumColumns”。在xml里设置“NumColumns”是不可以的,因为在xml设置的时候不知道实际有几列。

只要:
1. 在代码中设置“NumColumns”为1行的列数
2. xml里设置“gravity“为 center

就可以居中显示了


代码:
    
<GridView
android:id="@+id/gv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:gravity="center"
android:scrollbars="none"
android:columnWidth="75dp"
android:listSelector="@null"
android:stretchMode="columnWidth"
/>

gvContent.setNumColumns(2);


效果如图
...全文
2860 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pearyz_lin 2017-06-23
  • 打赏
  • 举报
回复 1
在定义的item中最外层设置居中.
jklwan 2016-05-04
  • 打赏
  • 举报
回复
“在xml里设置“NumColumns”是不可以的”,第一:GridView在xml是可以设置这个android:numColumns="1"的。第二,gridview中的内容是否居中需要看item中的布局方式,和gridview中的设置关系并不大。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧