问题标签 [android-constraintlayout]

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 投票
2 回答
1032 浏览

android - 一起使用 GridLayout 和 ConstraintLayout 时已经定义了属性“orientation”

一起使用 GridLayout 和 ConstraintLayout 时出现以下错误

问题是因为两个库都使用这个

有谁知道解决方法?

0 投票
1 回答
5856 浏览

android - 什么是工具:ConstraintLayout 中的layout_constraintBaseline_creator 属性?

ConstraintLayout 在 android 中是新的,所以任何人都知道它是什么tools:layout_constraintBaseline_creator="0"以及它对属性有什么作用。下面是我的代码。

0 投票
5 回答
77971 浏览

android - 如何使用 ConstraintLayout 将多个视图集中在一起?

背景

谷歌宣布了一种名为“ ConstraintLayout ”的新布局,它应该是终极布局,它可以取代所有布局,同时保持平坦(没有嵌套布局)并具有更好的性能。

问题

问题是,除了 Google IO 上的视频之外,我几乎看不到任何可以帮助我解决这个问题的教程。

我想做的是,鉴于我在另一个布局中有一个垂直居中的 LinearLayout - 将它们都转换为单个 ConstraintLayout。

毕竟,这就是这个新布局的目的……

我希望处理的布局如下所示:

在此处输入图像描述

请注意,中心的视图仅垂直居中,并且 2 个 textView 位于 ImageView 的右侧,ImageView 也是垂直居中的。

这一切都适用于具有 2 个 TextView 的 LinearLayout 的 RelativeLayout,但我想知道如何将它们转换为单个 ConstraintLayout。

这是我展示的示例 XML:

我试过的

我尝试阅读一些文章并观看 Google 的一些视频:

那没有帮助,所以我尝试使用它,希望我能自己找出如何使用它。但我不知道该怎么做。我尝试使用该功能来转换布局,但这会使视图变得一团糟,并增加了我不想拥有的额外边距。

问题

如何将 2 个布局转换为单个 ConstraintLayout ?

0 投票
4 回答
28974 浏览

android - 在 ConstraintLayout 中对视图进行分组以将它们视为单个视图

我需要对ConstraintLayout. 我想将这些视图分组并继续编辑,而 Android Studio 中的布局设计器将它们视为单个视图。有没有办法做到这一点而不用ViewGroup(另一种布局)实际包装视图?如果需要这样的包装器,也许有一个包装器布局,它ConstraintLayout允许对对象进行分组,而无需创建像RelativeLayout

0 投票
1 回答
1207 浏览

android - 屏幕上的嵌套 ConstraintLayout 可见性 ON/OFF

我有一个具有以下层次结构的布局

列表.xml

empty_layout.xml

progress_layout.xml

在我的 Fragment 类中,我隐藏 SwipeRefreshLayout 及其子 RecyclerView 并显示 empty_layout。这很好用,但是如果我关闭和打开设备屏幕,empty_layout 就会消失。

仅供参考:我已将嵌套 ConstrainLayout 的可见性设置为始终可见,但如果我关闭/打开屏幕,它就会消失。

仅供参考:如果我曾经显示 ProgressView,则 ProgressView 在屏幕上保持可见开/关我假设它是因为 ProgressView 没有包裹在嵌套的 ConstraintLayout 下!?。

关于为什么嵌套的 ConstrainLayout 仅在屏幕开/关时消失,而在我旋转屏幕时它仍然存在的任何想法?

0 投票
5 回答
112830 浏览

android - 使用 ConstraintLayout 均匀分布视图

的一个常见用途LinearLayout是均匀分布(权重)视图,例如: 示例布局

如何使用 new 实现像这样的等间距视图ConstraintLayout

ConstraintLayout参考链接:博客文章I/O 会议视频

0 投票
10 回答
117812 浏览

android - 设置宽度以匹配 ConstraintLayout 中的约束

我想将视图的左侧和右侧限制为其父视图的边距并使其填充分配的空间。但是,将宽度设置为match_parentwrap_content似乎会产生相同的结果。

是否有与 match_constraints 等价的东西(与 match_parent 和 wrap_content 相对)?match_parent影响布局还是wrap_content在新的约束布局中被忽略?

0 投票
6 回答
7911 浏览

android - Travis CI 构建不适用于 Android 约束布局

我正在尝试让 Travis 构建我的 Android 项目。当它尝试下载库时失败ConstraintLayout。你知道我必须做什么才能让它工作吗?

.travis.yml的是这样的:

build.gradle的是:

我在 Travis 上遇到的错误是:

知道如何解决这个问题吗?甚至可以ConstraintLayout用 Travis 构建吗?

0 投票
0 回答
1038 浏览

android - ConstraintLayout 中的中心组件

我很确定它ConstraintLayout不应该用于下面描述的用例,但是,为了讨论,将垂直对齐的组件居中的最佳方法是什么ConstraintLayout(因为它可能在LinearLayout重力设置为“中心”和垂直方向) ?

可以通过向所有四个边添加约束来使单个组件居中。它将完美地定位在屏幕中央。但是如果我们有多个相互约束的组件,那么它开始变得很棘手,因为所有组件都会倾向于重叠(如果约束到顶部和底部,这是预期的行为)或者新添加的组件将低于居中的组件(或高于)。

通过在居中的组件上方添加一个组件,在下方添加一个组件,我最终得到了一个感觉并不完美的解决方案。这样组件将垂直对齐并且几乎居中:)。

这是一个例子:

  1. 居中组件:

居中组件

  1. 上面的组件,被限制在中心

在此处输入图像描述

  1. 下面的组件,被限制在中心

在此处输入图像描述

放置在上方和下方的其他组件分别被约束到最近的组件(上方或下方)。正如您在第一张图片中看到的那样,组件没有完全居中,因为“国家”字段下方有三个组件,上方有两个组件。任何设计师都会注意到这一点:),因此是否可以使用ConstraintLayout和集中整个组件组(或者它不应该像这样工作)

PS LinearLayoutwithgravity="center"可能是这种情况下的最佳解决方案。

0 投票
1 回答
1284 浏览

android - ConstraintLayout 测量它的每个孩子多少次?

RelativeLayout 测量其所有子级两次。这可能会导致性能问题。约束布局是否只测量其子项一次?