安卓流式布局——标签墙

本文介绍了如何在安卓中实现流式布局的标签墙,通过自定义ViewGroup,封装每行标签数据,计算并布局每个子视图的位置。详细探讨了在onLayout方法中进行布局的过程,并提供了项目的下载链接。
摘要由CSDN通过智能技术生成

这里写图片描述安卓标签墙也是一个常见的应用场景,所以最近学习写了一个流式布局,并学习一下自定义控件的一种方法,继承ViewGroup.
思路:
1.流式布局1行只能放下固定数量的标签,所以用一个类来标明一行的数据,这样在onLayout方法中就只需要将每一行的数据放到正确的位置上就可以了。这样的一个行的类的属性基本也可以确定了:当前行的标签集合,当前行的宽度,当前行的高度,:

class LineBean {
        public List<View> items;//标签集合
        public int width;//行宽
        public int height;//行高
    }

2.首先当然是考虑viewgroup的尺寸,这个尺寸需要根据子控件的累计宽高来计算:

 @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    //首先先获取到给定的宽高以及模式
        int specModeW = MeasureSpec.getMode(wid
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值