问题标签 [android-flexboxlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1696 浏览

android - FlexboxLayoutManager setFlexDirection.ROW 不工作

问题是所有项目每行显示一个项目。像这样:

我想像这样向他们展示:

我已明确将项目的宽度设置为 148dp。当列跨度为 2 或每行动态列基于它们的宽度显示与屏幕宽度一样多时,它在 GridLayoutManager 中运行良好,但我无法轻松地将它们居中。

在 FlexLayoutManager 之后我遇到了这个问题。虽然当我将方向设置为 COLUMN 时,项目显示附加到左侧,但仍然在每一行上。我有这个 RealmRecycleView:

这就是我设置 LayoutManager 的地方

这是我的ItemView:

0 投票
1 回答
300 浏览

android - 如何以编程方式将 FlexBox.alignItems 设置为 flex_end?

我知道如何在 xml 中做到这一点

但我不知道以编程方式找到对 flex_end 的引用。

例如,这段代码(在 kotlin 中)使整个布局空白。但是当我在项目中搜索“flex_box”时,我看到它的唯一地方是 R 文件。那么如何设置 alignItems = .flex_end?

0 投票
4 回答
10966 浏览

android - 无法访问 ActivityCompatApi23 类

我的 gradle 文件存在运行时问题。我将此compile 'com.google.android:flexbox:0.3.1'作为编译时依赖项添加到我的 Gradle 文件中。我遇到了一个错误,并将其添加到我的项目级 Gradle 文件中。

添加上述内容后,最终看起来像这样

在我的应用程序级别 Gradle 文件中添加上述内容后,我现在在尝试运行我的应用程序时遇到了不同的错误。所以我根据SO的一些答案做了以下事情。

  1. 尝试清洁和重建。
  2. 导航到路径projectName\.idea\libraries并删除了包含当前版本以外的支持库版本的文件25.3.1 3.为了解决错误,我进一步从我的应用级 Gradle 文件中删除了这一行,

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 排除组: 'com.android.support', 模块: 'support-annotations' })

现在最终的 Gradle 文件看起来像这样,但有错误,

错误:

我的 Gradle 文件

0 投票
1 回答
632 浏览

android - Android FlexboxLayout:当子视图调整大小时,android:animateLayoutChanges 不起作用

我将此选项添加到我的FlexboxLayout中,以便在孩子移动时有动画:

android:animateLayoutChanges="true"

不幸的是,只有当我添加孩子时,孩子视图才会被动画化,而不是在调整一个孩子的大小时!你有什么想法总是有动画吗?

在此处输入图像描述

0 投票
1 回答
1400 浏览

android - 在 FlexboxLayout 中换行

我正在使用 FlexboxLayout 添加一些 EditTexts。每个 EditText 仅包含 1 个单词字符。我也使用 editText 作为空间,但保持它不可见。我使用布局设置 FlexWrap 作为“换行”。例如,如果我有两个单词,第二个单词的一些字母会转到下一行。但是,我希望下一个单词(一组editText)转到下一行,而不仅仅是最后几个字母(editText)。

有没有办法对这些编辑文本进行分组并使整个单词转到下一行。或者有什么方法可以在程序本身中换行。我尝试将“EditText”添加到线性布局并将其添加到“FlexboxLayout”,但它不起作用。

0 投票
1 回答
6710 浏览

android - 以编程方式使用 FlexboxLayout

我在尝试使用FlexboxLayout创建简单界面时遇到了一些问题。我在 .xml 文件中创建了视图,一切都按预期工作,但是当我尝试以编程方式创建相同的视图时,我无法设置layout_flexBasisPercent. 我正在尝试实现这样的目标: 在此处输入图像描述

这是xml代码:

我正在尝试使用此代码以编程方式重现相同的视图,但不起作用:

谁能找到错误?或者我做错了什么?

谢谢你。

0 投票
1 回答
1102 浏览

android - 当 FlexBoxLayoutManger 设置为 RecyclerView 的 layoutManager 时如何计算行数

我正在使用FlexboxLayoutManager

现在我必须给项目充气recyclerView,如果项目数量超过 2 行,那么我必须将“显示更多”选项显示为第二行本身的最后一个项目。我怎样才能做到这一点?

每行包含不同数量的项目,即列可能因项目长度而异,这就是使用 FlexBoxLayoutManager 的原因。

0 投票
0 回答
151 浏览

java - 如何对 FlexboxLayout 中的所有类别进行分组

我有这种类型的 Json:

我在我的 recyclerview 中使用 flexboxlayout 对相同标题的类别进行分组:

弹性盒布局:

适配器:

@Override public void bindViewHolder(final FlexibleAdapter adapter, final SimpleViewHolder holder, int position, List payloads) {

LinearLayout 布局 = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.textview, null); TextView tagView = (TextView) layout.findViewById(R.id.textview);

主要活动;

0 投票
0 回答
385 浏览

android - FlexboxLayout 计数行

我需要以编程方式将视图添加到 FlexboxLayout 并为每个添加的视图检查它是否创建了新行。

如何获得行数?

试过:

getFlexLines 方法并不总是返回预期的行数。

0 投票
0 回答
2668 浏览

android - 是否可以限制 RecyclerView 的 FlexboxLayoutManager 中的特定行?

背景

我需要以列表方式创建详细信息屏幕的 UI,其中包括各种字段。这就是我选择使用 RecyclerView 的原因,因为可能有很多字段,我不希望所有视图从一开始就被夸大。

问题

在其中一行中,我实际上必须放置标签。该行与大多数其他行一样有一个标题,并且可能像大多数其他行一样在右侧有一个图标,但真正的内容是标签本身。如果没有更多空间,它们会包装。

像这样的东西:

在此处输入图像描述

您看到的是一行,其中包含标题、侧面的图标和标签。标签集合在两侧有边距,在需要时换行到下一行,并占用图标下方的空间。

我发现了什么

谷歌有一个很好的库,叫做“flexbox-layout”(类似于各种流布局库),它允许在没有更多空间的情况下进行视图换行。它还允许使用FlexboxLayoutManagerfor RecyclerView,以便在可能的情况下回收视图。它可以很容易地初始化。例子:

这将让视图一个接一个地水平移动,并在需要时换行到下一行。

现在有两种方法我认为我可以使用它,但都有问题:

  1. 让整个 RecyclerView 使用单个FlexboxLayoutManager,其中所有行占据整个宽度 ( match_parent),除了这部分,标签占据wrap_content. 这行得通,但后来我找不到如何单独为两侧的标签设置边距(右侧和左侧的,但不是中间的)。

  2. 有一个嵌套的 RecyclerView 将单独包含标签。内部 RecyclerView 将排成一行,布局的右侧有图标,两侧有边距。边距有效,因为它在自己的行内并带有布局。但是,由于它是嵌套的 RecyclerView,所有视图会同时膨胀,不会被回收。这意味着如果我有 100 个标签,当我到达这一行时,他们的所有视图都会被夸大。这对性能不利。如果它是一个带有 LinearLayoutManager 的水平 RecyclerView,这不会是一个问题(它在那里工作正常),但它不是。

对于这两种方法,还有侧面图标的问题,因为它应该只占用那里的空间,而在它的下方可能有更多的标签。

问题

  1. 是否可以有特殊限制,例如在右侧有一个图标,而所有其余的视图都相应地包装?

  2. 是否可以只有侧标签(每行的第一和最后一个)视图有边距,而其他的没有?

  3. 是否可以在不丢失其回收机制的情况下拥有嵌套的 RecyclerView?