2 luycc luycc 于 2017.08.29 17:28 提问

解决gridView的item排列!

急用,我现在在做一个项目,其中有个网格式的布局,我想过要用自定义view去实现,
但是琢磨了半天硬是没做出来,就用gridView来写。然后我现在的问题是 gridView都是从左边进行排列的,当我有四个item的,我用gridView就实现不了了。所以我想问一下各位大神,有没有人知道该怎么做这个,或是怎么设置grid View的item的排列呢???![图片说明](https://img-ask.csdn.net/upload/201708/29/1503998772_751741.png)图片说明

6个回答

anyanyan07
anyanyan07   2017.08.29 18:03
已采纳

可以通过改变数据的排列方式来实现你的需求,不过逻辑可能有点复杂,通过data.size()/3判断奇偶行,如果是奇数行就正常顺序排列,如果是偶数行,还要进一步判断:此行的数据是否大于等于3,如果大于等于3,将这三个数据倒序排列,如果只有两个,前面加一个空的占位数据,如果只有一个数据,前面加两个空的占位数据.应该就可以实现了.

luycc
luycc 可是这样的画怎么改变她的排列我有点懵。我理解是这样的一个意思。但是我去做代码的时候无从下手,不知道改怎么改变其排列顺序,排列顺序可以改变嘛?您可以方便说i一下嘛
11 个月之前 回复
lcmsx
lcmsx   2017.08.29 17:46

大哥,你是否需要说明一下你使用的技术呢? HTML? WinForm? WPF? Java?MFC? 还是啥??

luycc
luycc 我使用的java的呢
11 个月之前 回复
lcmsx
lcmsx   2017.08.29 17:49

再者,你给出的图的效果其实根本不用gridView,如果是HTML,最简单的table就可以实现。能够简单实现的情况下,简单实现最好,也好维护,控件越复杂,维护难度越高。你这样的界面简单实现就好,不一定非要使用某一个控件的。变通点更好的。

luycc
luycc 我这个是Android开发的,有一点就是个数不同,排列起来也不相同。gridview默认排列顺序是从左到右,我现在如果只有四个审批人,则第四个的时候我希望是从右排列过来的。这个item的排列 有点麻烦。
11 个月之前 回复
baidu_26611019
baidu_26611019   2017.08.29 18:09

这个应该不是问题吧!android的gridview可以设置每行的item个数,html5有table可以代替,相信其他技术也有相应的属性设置,仔细找找。

baidu_26611019
baidu_26611019 设置android:columnCount="4" 和 android:orientation="horizontal" 后,每行就默认排4个控件,第五个控件自动排在第二行。
11 个月之前 回复
luycc
luycc 回复蚂蚁冲锋队: 怎么换行排列?
11 个月之前 回复
baidu_26611019
baidu_26611019 android:columnCount="4"//该网格布局有4列 android:orientation="horizontal" //水平依次排列,排满4列后,换行排列
11 个月之前 回复
baidu_26611019
baidu_26611019 android的那绝对不是问题啊!把你的控件放到gridlayout里面然后做如下配置
11 个月之前 回复
luycc
luycc Android的,很抱歉,我没有说清楚,找了太久了。有点懵逼,给忘了
11 个月之前 回复
Small_Mouse0
Small_Mouse0   Rxr 2017.08.29 18:22

为啥四个实现不了了,,,,十个八个和两个三个四个
知识item中的数据变了,,gridview记左上角为0,,,
没关系在数据上做手脚就可以,,根据输入数据对数据进行排序

你这个需求,我感觉,,第一行不用变,,第二行倒序,第三行不变,,,以此类推,,基本上是可以完成这个需求的。

luycc
luycc 回复小鼠标丶:谢谢了。我还得再试试哈~
11 个月之前 回复
Small_Mouse0
Small_Mouse0 回复luycc: 不客气,,,帮助你成功了,,给个采纳就行,,,哈哈(●'◡'●)
11 个月之前 回复
luycc
luycc 回复小鼠标丶: 这样子吗?我看看,谢谢了
11 个月之前 回复
Small_Mouse0
Small_Mouse0 回复luycc: 你确定你不会反序,,,数组倒序行不行?从两头往中间依次访问,逐个交换信息,,,你这里应该是个List,ArrayList和数组一个道理,,add,remove就可以,(可能有api,直接交换)
11 个月之前 回复
luycc
luycc 回复小鼠标丶: 对啊,可是反序怎么弄啊?
11 个月之前 回复
Small_Mouse0
Small_Mouse0 回复luycc: ,,不是很难我感觉,,,加入你有13个数据,一行放4个,,前四个正序,5-8个反序,9-12正序,13逆序,,,很有规律的
11 个月之前 回复
luycc
luycc 可是这样的画怎么改变她的排列我有点懵。我理解是这样的一个意思。但是我去做代码的时候无从下手,不知道改怎么改变其排列顺序
11 个月之前 回复
u011315960
u011315960   2017.08.30 10:35

android的GridView默认是从左往右,没有其他的设置,如果你想要实现这种效果,只有两种办法:
1、改变数据的顺序,而不是让布局发生变化。
2、自己实现一个类似于GridView的效果。

luycc
luycc 回复li504799868: 嗯,谢谢了。
11 个月之前 回复
u011315960
u011315960 整体的实现思路是对3取模 ,判断是单数还是双数(包括0),如果是单数需要把这段数据倒序
11 个月之前 回复
u011315960
u011315960 恩 其实这个处理 要不是在数据中 要么是在布局中 肯定都是需要你自己来解决的 但是思路都是一样的 你可以根据你的个人情况 选择一个解决方案
11 个月之前 回复
luycc
luycc 我还是觉得你这样从数据源会比较好一些
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
效果图 :                         分别是第一页、第二页、第三页,随手截的图,不整齐,勿见怪。开始走了弯路,废了不少时间。 思路如下: 1、用ViewPager实现左右分页滑动,布局最下面远点标记页码是根据有多个item动态添加的。 2、每个页面的GridView的item的个数根据屏幕的宽度高度来动态设置。 3、每个界面的GridView的adapter也
Android GridView 横向滚动 一行显示
都知道gridview和listview是android比较重要的数据组件, 接到一个横向显示数据的任务,头大半天,最后只能用gridview试试了。呵呵,费了N多脑细胞,搞定。 ===== 布局文件main.xml xmlns:android="http://schemas.android.com/apk/res/android" android
android自定义gridview,根据item自动适应高度
代码如下 package com.loopfire.meitaotao.view; import android.content.Context; import android.util.AttributeSet; import android.widget.GridView; /** * 自定义gridview * @author hai * */ public class MyGr
问题解决:GridView中item默认靠左显示,要使其居中显示
解决办法: 1 在其item布局文件中设置如下:     android:layout_width="fill_parent"            //layout_width属性值为fill_parent而不是wrap_content     android:layout_height="wrap_content"     android:orientation="vertic
Android GridView如何固定间隔,item能自适应大小(笔记)
这个适配需求之前工作也适配过,现在项目又要用到GridView并更好的适配,不如写个笔记以后也方便使用;适配需求--item间无论是垂直或者列表间隔固定值dp,然后每个item固定宽度随之适应,如下图:util代码:import android.view.View; import android.view.ViewGroup; import android.widget.GridView; imp
Android Launcher 应用图标大小不一的情况或GirdView Item 不规则处理与解决
Android Launcher 应用图标大小不一的情况或GirdView Item 不规则处理与解决
RecyclerView实现横向Listview、Gridview、类似合并item的Gridview
实现横向的listview、Gridview、Gridview的item合并效果; Gridview的item动画放大不被其他item遮盖
ScollView嵌套不可滑动的GridView
很好的解决了ScollView和GridView的滑动冲突,并为GridView设置的Item点击事件。
完美解决GridView的item重叠问题
完美解决GridView的item重叠问题作者:周文豪前言,在项目开发中,使用了GridView来做两列显示的需求,item是textview,但是内容未知,可长可短。于是乎,遇到了一个bug,如下图: 我们可以看到每行的底部和下一行的顶部有重叠。 不说废话,先看最初的代码截图: 如图:item的代码截图: 如图:activity的xml截图: 如图:MainActivity的截图: 如图:ad
ListView 或GridView不能响应itemclick事件的解决方法
主要内容转自他人博文,稍作修改