【问题标题】:Android FlexboxLayoutManager last row alignmentAndroid FlexboxLayoutManager 最后一行对齐
【发布时间】:2021-02-23 00:30:25
【问题描述】:

我正在尝试使用 FlexboxLayoutManager 来布局方形项目。然而,最后一行只有两个项目,以便它们居中对齐。这让事情看起来超级糟糕。我的代码如下。有没有办法解决这个问题?

FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(activity);
layoutManager.setFlexDirection(FlexDirection.ROW);
layoutManager.setJustifyContent(JustifyContent.SPACE_BETWEEN);

【问题讨论】:

  • 尝试删除 setJustifyContent 。这应该是 FlexBox 的默认排列方式。
  • 谢谢,但那是 FLEX_START。这在视图的右端留下了一个很大的空白空间。我想均匀地间隔项目,但最后一行与上面的行对齐。任何解决方法?
  • 您附加的图像是网格对齐。为什么你使用FlexBox?你可以使用GridLayoutManager
  • 这就是我使用的,但是如何设置列数? FlexBox 动态计算列,对吧?
  • @Patola 您找到解决方案了吗?

标签: android android-recyclerview layout


【解决方案1】:

这很脏,但有效。将FlexLayout 放在FramLayout 中,不要忘记将布局参数设置为WRAP_CONTENTcenter 重力在水平轴上。

flexbox=new FlexboxLayout(context);
flexbox.setFlexDirection(FlexDirection.ROW);
flexbox.setFlexWrap(FlexWrap.WRAP);
flexbox.setJustifyContent(JustifyContent.FLEX_START);

FrameLayout container=new FrameLayout(context);
LayoutParams lp=new LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
lp.gravity= Gravity.CENTER_HORIZONTAL;
container.addView(flexbox,lp);

【讨论】:

    猜你喜欢
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多