含有过滤功能的android流式布局

原创 2015年07月10日 22:14:44

FilterFlowLayout

含有过滤功能的流式布局, 参考FlowLayout

  • 可以去除宽度不在范围(比例或真实值)内的子view
  • 可以设置最大行数
  • 可以添加组件间水平间距
  • 可以添加行间距

截图

系统要求

Android 4.0以上

快速使用

<me.codeboy.android.lib.FilterFlowLayout
    xmlns:cb="http://schemas.android.com/apk/res-auto"
    android:id="@+id/filterFlowLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    cb:maxWidthRatio="0.5"
    cb:minWidth="80dp"
    cb:maxLines="3"
    cb:horizontalGap="5dp"
    cb:verticalGap="5dp"
    >
  • 最大宽度为FlowLayout的宽度的一半
  • 最小宽度是80dp
  • 最大行数为3行
  • 水平间距为5dp
  • 垂直间距为5dp

xml配置

maxWidthRatio  最大宽度比例,相对于FlowLayout的总宽度,默认-1
minWidthRatio  最小宽度比例,相对于FlowLayout的总宽度,默认-1
maxWidth       最大宽度,默认0
minWidth       最小宽度,默认0
maxLines       最大显示行数,默认Integer.MAX_VALUE
horizontalGap  每一行子试图之间的空隙,默认是0
verticalGap    多行式行空隙,默认是0

相关方法

setMaxChildWidth(float maxChildWidth)  //设置最大宽度
setMinChildWidth(float minChildWidth)  //设置最小宽度
setMaxLines(int maxLines)              //设置最大行数
setHorizontalGap(int horizontalGap)    //设置水平间距
setVerticalGap(int verticalGap)        //设置垂直间距

注意事项

  • xml中同时设置宽度的比例与具体值时,比例(ratio)的优先级高于真实值。
  • 宽度都不设置时,最大宽度为FlowLayout的宽度。

github地址: https://github.com/androiddevelop/FilterFlowLayout

相关文章推荐

带有标签的流布局,,,实现标签的选中,添加和删除功能....

带有标签的     流布局的增删demo: 项目中经常遇到这样的例子:界面上很多标签,共用户选择,用户可以自行添加,自行删除。     随手写了一个: 效果图: 核心源码: 自定义...

Android 灵活且功能强大的流式布局

Android 灵活且功能强大的流式布局

android自定义流式布局源码

  • 2015年05月05日 20:26
  • 1.37MB
  • 下载

android流式布局

  • 2017年07月16日 11:24
  • 21.54MB
  • 下载

Android流式标签布局,自定义标签控件tagView

我们在一些项目中会用到自定义流式布局,我个人觉得流式布局将呆板的布局错综排列,来提升用户体验度.(还可以不辜负美工妹子们的期望,人家毕竟也辛辛苦苦设计半天)。今天终于有时间来做做了。写的不好,很多地方...

Android 流式布局FlowLayout 关键字标签

  • 2017年01月03日 14:54
  • 22.74MB
  • 下载

ANDROID 流式布局和热门标签

  • 2016年03月30日 17:26
  • 1.42MB
  • 下载

android 自定义view实现流式布局

android 自定义view实现流式布局

Android自定义ViewGroup-----流式布局

  • 2016年08月30日 16:35
  • 294KB
  • 下载

Android流式布局实例

  • 2016年10月19日 21:51
  • 1.38MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:含有过滤功能的android流式布局
举报原因:
原因补充:

(最多只允许输入30个字)