网格布局android studio,AutoFlowLayout:多功能流式布局与网格布局控件

本文介绍了如何在Android Studio中创建一个名为AutoFlowLayout的自定义控件,该控件实现了流式布局和网格布局功能,包括单行/多行、单选/多选、自定义行数和列数等功能。作者通过详细步骤展示了控件的实现原理,包括测量、布局和绘制过程,并提供了添加依赖、属性说明以及使用示例。
摘要由CSDN通过智能技术生成

近期工作需要用到流式布局,网上也有很多关于这方面的资料。发现流式布局与网格布局的自定义很有意思,是学习自定义控件的一个很好的方式,所以就撸了个几百行代码的控件,既实用又具有学习价值。

一、AutoFlowLayout应用场景

流式布局,在很多标签类的场景中可以用的;而网格布局在分类中以及自拍九宫格等场景很常见。如下所示:d64c81b741211a0d798d85f6659924bc.png

如此使用频繁而又实现简单的控件,怎能不自己撸一个呢?控件,还是定制的好啊。

二、AutoFlowLayout实现效果

先介绍下自己撸的这个控件的功能及效果。

1.功能

流式布局

自动换行

行数自定:单行/多行

支持单选/多选

支持行居中/靠左显示

支持添加/删除子View

支持子View点击/长按事件

网格布局

行数/列数自定

支持单选/多选

支持添加/删除子View

支持子View点击/长按事件

支持添加多样式分割线及横竖间隔

2.效果

下面以gif图的形式展现下实现的效果,样式简单了些,不过依然能展示出这个简单控件的多功能实用性。

流式布局06cc71ecc55121795ef59431c983fff4.gif

306b85e118c91c6cd52cc0b63a9bbbea.gif

网格布局

17c1bc57ab01e76b076541563c7f0c80.gif

最后一个是带间隔以及分割线的,由于录屏原因,只在跳过去的一瞬间显示了粉红色的一条线。真实如下图所示,可以定义横竖间距的大小,以及分割线的颜色,宽度。

dd586a71ecd0586e2dec91922794e653.png

三、AutoFlowLayout使用

1.添加依赖

①.在项目的 build.gradle 文件中添加

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}复制代码

②.在 module 的 build.gradle 文件中添加依赖

dependencies {

compile 'com.github.LRH1993:AutoFlowLayout:1.0.5'

}复制代码

2.属性说明

下表是自定义的属性说明,可在xml中声明,同时有对应的get/set方法,可在代码中动态添加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值