android小项目开发_Android开发小技巧之Flex布局在RecyclerView上的使用

091525ace8689577d4f03eea967a6f9b.png

背景介绍

目前坐标福州,已经从云南回到福州了,上一个项目基本宣告失败。第一次创业机会因为云南的整体环境,以及合伙人的对于整个市场的过分乐观,导致项目最终黄掉。

目前在福州和朋友再次尝试创业,这次是在确定了有前期市场以及合作方提供稳定渠道的情况下,加上我合作的三个小伙伴,还有一个在温州的老板,我们再次扬帆起航。

RecycleView 上使用Flex布局,达成类似前端flex布局的效果

前段时间在偶然的情况下,接触了谷歌的一个开放出来的RecycleView的布局管理,相对于已有的集成在SDK中的布局管理,这个库是单独被谷歌开放出来供给开发者使用。

我们常用的就两种,一种 LinearLayoutManager ,另一种是 GridLayoutManager 。其中LinearLayoutManager 这个布局管理者,能够支持横向和纵向的排列。

上面的两种应该都很好理解,用过的都知道,就不需要画图了。下面开始通过画图的方式来介绍这个FlexboxLayoutManager

横向和纵向:

主轴走向,说的是每个单项的主要轴方向,是横向的排列还是纵向的排列:

8da2fa8570265203297a43cdf9eb3525.png

在确定了主轴方向之后,就有了接下来的几种分布区别:

  • FLEX_START 从主轴的方向开始,对齐主轴的方向起点。

638f15d1ece06c95d360515dc4c53367.png
  • FLEX_END从主轴的方向开始,对齐主轴的方向终点。

c0fa39bc08ce23c929f09f0c7cb1c296.png
  • CENTER 沿着主轴方向的居中对齐

c295b066dd9595fd8d135f7a22428c4c.png
  • SPACE_BETWEEN 沿着主轴方向,左右端对齐,中间间隙均匀分布

1ec32449338587d13699266f4255f882.png
  • SPACE_AROUND 沿着主轴,所有的子项目从左到右的之间的左右间隔都相等

70096251d1c16ed02ffba43c53f41c76.png
  • SPACEEVENLY和上一个SPACE_AROUND 基本没有区别

今天就涉及到一个需求,在一个横向的给定的一定空间内,能够将有限数量的子item进行均匀的分布,我使用的是SPACE_BETWEEN这个功能,横向排列,左右对齐,中间的子元素都能够均匀的排布。

使用这种方式,相比以前的使用LinearLayout的布局,然后设置权重的方式来的要简单和效率很多,能够快速的开发出相同的功能效果,非常的方便,建议后期都使用这种RecycleView + flexble的布局方式,来实现类似的需求。

以上的几个选项主要针对的是主轴方向上的分布设置。还可以进行复轴上的方向分布设置。


最后忘记一件事了,使用FlexboxLayoutManager需要将库进行导入

在项目的app目录下的build.gradle文件中添加如下的代码:

dependencies {
   implementation 'com.google.android:flexbox:2.0.1'
}

版权声明:本文为weixin_30467199原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。