问题标签 [constraint-layout-chains]

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 投票
0 回答
788 浏览

java - Android ConstraintLayout - 如何以编程方式设置chain_packed元素的边距

这是我的代码:

按钮被添加在同一个地方(所以只有最后一个是可见的)。如果我删除“b.setLayoutParams(buttonParams);”,结果相同 线和使用

所有按钮集中在一处

但是,如果我添加带有宽度和高度参数的按钮,它可以工作,但没有更多的边距:

链中的按钮但没有边距

我做错了什么?

编辑:secretCodeFields 是 ConstraintLayout

我找到了解决方案。我在 set.applyTo... 之后添加了边距:

它有效,但我不知道它是否是最好的解决方案。

0 投票
2 回答
886 浏览

android - 如何使用支持所有不同尺寸屏幕的 ConstraintLayout 对齐视图?

ConstraintLayout用来设计我的屏幕。

这是我到目前为止尝试过的代码

我使用上面的代码面临以下问题

  • 在小屏幕上imageview躲在后面addview
  • 当我隐藏addview底部SpeedDialView不调整时
  • 如何限制SpeedDialView当我隐藏addview它时它的工作方式与addview可见时相同

问题截图

-大屏幕问题

-小屏幕问题

我检查了一些 SO Post

请检查下面的屏幕我的预期输出

我的预期输出

谁能帮我使用 ConstraintLayout 布局创建此布局

如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。

0 投票
1 回答
758 浏览

android - 三个水平按钮,它们之间的边距很小,带有 ConstraintLayout

我想为计算应用程序绘制一个带有大按钮的键盘,每行三个,在这三个按钮之间我需要放置一个小的空白边距。我知道如何使用 LinearLayout 来做到这一点,但我完全忽略了如何使用约束布局来实现这一点。

我试图在按钮之间分配一些距离,使中央按钮居中,然后将左右按钮限制在中央按钮上。结果很糟糕,因为使用不同的屏幕按钮之间的距离可能会变得很大,而我想在所有屏幕中实现相同的比例,换句话说,按钮之间的距离(小边距)应该总是很小,独立于屏幕,几乎所有的屏幕表面都被按钮而不是空白区域填满。

0 投票
1 回答
139 浏览

android - 在 ConstraintLayout 中移位的链式视图

我在将 2 个视图放置在屏幕中央时遇到了 ConstraintLayout 的问题。像下面的标题和内容。两者都应该垂直居中。所以我的布局看起来像:

但是当内容增长标题被移出屏幕边界时。它看起来像一个错误。如何避免这种行为并使视图位于屏幕范围内? 标题视图移位

0 投票
2 回答
502 浏览

android - Android 约束布局改变了它在 Mobile 中的外观

布局看起来很棒,但在移动设备中却不是。怎么克服!!!

尝试将每个视图分别连接到父视图,观看了一些教程来解决问题,但没有解决问题。我尝试将每个视图与父视图连接,但在横向模式下没有解决问题。

我期待与 Android Studio 中相同的结果

0 投票
1 回答
2857 浏览

android - 使用 ConstraintLayout 展开链式元素组

我在使用约束布局传播 2 组元素时遇到问题。我了解这种新布局的目标是使用平面层次结构,因此我想避免将我的元素放在子布局中。

我查看了一些很棒的资源,例如 constraintlayout.com,但无法弄清楚如何使其适用于我的特定案例——我认为这很常见..

这是我想要实现的图像。在红色中,空间 1、2 和 3 需要具有相同的高度(就像展开链一样)。

代表我想要的

感谢您的关注 :)

0 投票
2 回答
100 浏览

android - 在 ConstraintLayout 中可以链接多少个视图(添加关系)

Android 中的约束布局支持视图链接(https://developer.android.com/reference/android/support/constraint/ConstraintLayout#chain-style

我检查了几个例子,到处只展示了 3 个视图来展示这个概念。

3是极限吗?

我试图添加第四个元素,但它没有按照概念链接。 用 3 个元素链接

用 3 个元素链接

用 4 个元素链接

用 4 个元素链接

代码 - https://gist.github.com/vamsigp/784be59f8ae1e2137ece1349c726d1f8

0 投票
1 回答
1062 浏览

android - 从具有平面视图层次结构的多个水平链创建垂直链 ConstraintLayout

我正在尝试采用多个水平链接的按钮和 TextView 并将它们垂直链接为视图集,但仍保持平面视图层次结构。这是我的初始布局和代码:

初始布局

当我设置按钮及其 TextView 的可见性时,我希望同一行上的按钮填充剩余空间,但我希望它下方或上方的按钮保持在同一位置,直到该行上的两个按钮都有被隐藏了。隐藏同一行上的两个按钮后,我希望其余按钮填充剩余空间。例如,当我隐藏 Button 和 TextView 3 时,我希望布局看起来像这样:

正确布局

但是目前如果我隐藏 Button 和 TextView 3,这就是当前发生的情况:

布局不正确

这是基于我当前代码的预期行为,但我正在寻找一种方法来防止垂直链向下折叠,直到按钮 4 也被隐藏。隐藏按钮 4 后,这是所需的结果:

正确布局 2

我玩过障碍物,但在任何一点放置障碍物似乎都会导致按钮的动态高度复杂化,因为它会破坏垂直链。谁能提供一些关于如何通过平面视图层次结构实现这一点的见解?

0 投票
2 回答
35 浏览

android - ConstrainedLayout 中的链接部分

我想要一个包含几个“部分”的布局,每个部分包含标题和一些TextViews,EdiTexts等。

我希望这些部分均匀分布在屏幕上,并且它们不能重叠。所以看起来连锁是要走的路。

但我一直遇到的问题是如何对链中的一些元素进行分组?我不想让每个部分中的单个项目均匀分布,我希望整个部分均匀分布。有可能吗?还是我必须使用嵌套布局,这几乎打破了 ConstraintLayout 的整个想法?

0 投票
1 回答
1297 浏览

android - Android:两个单行 TextView 并排 - 挤压和/或裁剪任何一个

用例:两个单行TextView并排水平放置,其中一个设置为填充剩余的可用宽度,另一个包裹其内容。在特定用例中,左侧TextView扩展以填充可用空间。它们被置于约束或线性布局中,其中每个都可以动态修改其内容,因此需要更多空间。它们都在末尾支持省略号,以便它们正确地表示它们是否被缩小。

目标是TextView根据剩余可用空间自动计算的宽度不会被移出布局,被裁剪或重叠TextView。现在,无论是使用ConstraintLayout还是包装其内容的 具有相当大的宽度,LinearLayout都会发生这种情况。TextView

代码:

上面的代码表示以下布局:

一个垂直LinearLayout包装 aConstraintLayout和一个水平LinearLayout的每一行具有相同的内容 - 前面提到的两个并排TextViews。左边TextView的 s 被设置为占用剩余的可用宽度,而右边的则包裹它们的内容,后者在上面的示例中被有意设置为大于父级的宽度。结果如下:

在此处输入图像描述

似乎允许 aView扩展并占据剩余空间是一把双刃刀:此设置还允许View将 a 压缩到其内容大小以下。TextView这里要搜索的左侧逻辑解决方法设置与最小宽度有关。使用类似设置允许修复此问题的唯一布局是ConstraintLayout. 添加以下行:

app:layout_constraintWidth_min="wrap"

到左侧的属性TextViewConstraintLayout结果如下 UI:

在此处输入图像描述

这里奇怪的行为是,好像可扩展的宽度的一半TextView被设置为ConstraintLayout. TextView无论左侧内容的宽度如何,设置为负水平边距的左侧宽度百分比始终相同TextView

在此处输入图像描述

有时会发生这种作物比例与 50% 不同的情况。

任何想法如何水平容纳两个单行TextView,以便右侧对齐,允许左侧占据剩余空间并且不可能将其缩小到其内容大小或其他合理大小以下?