android:让List以列的方式显示

如图:
实现这样的界面
传统的GradView无法直接实现,为什么说是无法直接实现呢?也就是说还是可以实现的。
实现方式就是把list变换一下,实现方式如下:

    private String[] wordArr = new String[]{"地毯", "公里", "唇", "双生儿", "狗窝", "剃刀", "橙", "允许", "香水", "发刷", "河马", "战舰", "跑步者", "坚果", "游艇", "风格", "省略", "意思", "小猫", "羽毛",
            "报纸", "知道", "鲍鱼", "套头毛衣", "恐龙", "伞", "梯子", "退休", "石英", "衣领", "项链", "吸收", "车库", "誓约", "格子饼", "拉链", "头痛", "虹膜", "失业", "雨雪",
            "斑马", "手表", "飞机", "教练", "文具", "坐浴盆", "工作", "羊毛", "组织", "录像", "苹果", "雨", "须", "婴儿", "骑师", "鼓槌", "鼓", "编辑", "资格", "行政人员",
            "报纸", "知道", "鲍鱼", "套头毛衣", "恐龙", "伞", "梯子", "退休", "石英", "衣领", "项链", "吸收", "车库", "誓约", "格子饼", "拉链", "头痛", "虹膜", "失业", "雨雪",
            "开始", "维他命", "股东", "面包店", "大自然", "股东", "梯子", "退休", "石英", "衣领", "项链", "吸收", "车库", "誓约", "格子饼", "拉链", "头痛", "虹膜", "失业", "雨雪",};
    public int rows = 20;//每列20个数据
    public static int line = 5;//每行词语的个数
    public String[] wordEntities;//变换之后的数组

每一列20个。
数据变换,就是重新new 一个数组,把之前wordArr的第21(下标为20)个放到第二个去,第41(下标为40)个,放到第三个去。

public void parseData() {
        wordEntities = new String[rows *(wordArr.length/rows)];
        for (int i = 0; i < wordArr.length; i++) {       
           int index = rows*(i%line)+(i/line)+1
            wordEntities[i] = wordArr[index];
        }
    }
这样数据就OK了,接下来GradView的adater实现还是照样,这里就不写了。
第二种方式,5.0出了个RecycleView,这是个好东西啊,用RecycleView就没有这么多的麻烦事了,直接可以实现。
GridLayoutManager manager = new GridLayoutManager(getActivity(), 20);//每列20个数据
manager.setOrientation(GridLayoutManager.HORIZONTAL);
        wordRv.setLayoutManager(manager);
        //水平按列展开

其它的带码就略过了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值