问题标签 [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 回答
4788 浏览

android - 约束布局而不是相对布局

在新的Android Studio 2.2中引入了约束布局,我在此处此处搜索并阅读了有关此新布局的信息。在这个链接中,我读到了约束和相对布局之间的差异,但仍然存在一些问题:

  1. RelativeLayout如此处所述,我们可以ConstraintLayout完全替换
  2. 旧版本的设备可以支持ConstraintLayout吗?
  3. 为了设计应用程序,ConstraintLayout我们必须更新到 Android Studio 2.2?
  4. 使用ConstraintLayout我们不需要为所有屏幕分辨率编写许多dimens.xml 来拥有响应式应用程序吗?
0 投票
6 回答
7729 浏览

android - 是否可以在蓝图模式下使用 ConstraintLayout 滚动 ScrollView?

因此,我一直在使用 ScrollView 中的 ConstraintLayout 开发此布局。它工作正常,但现在我遇到了一个问题。我必须在屏幕外展开布局。我可以在设计模式下滚动,但我不能添加任何东西而不让它卡在顶部。约束是针对早期对象的,而不是我添加的当前对象。

我可以在蓝图模式下添加约束,但看起来我无法在蓝图模式下滚动 ScrollView。这甚至可能吗?使用 Android Studio 2.2(release) 和constraint-layout:1.0.0-alpha8

我试着像在设计模式下那样做,但它不会滚动。有任何想法吗?

使用 ConstraintLayout 正常滚动会导致约束保持在同一位置。

编辑:

更新到alpha9但仍然没有解决它

编辑2:

beta1 也不起作用。如 2.2.2。

编辑 3:

样本布局:

0 投票
1 回答
1060 浏览

android - 如何在android中的约束布局内有一个组视图?

约束布局的工作方式给我留下了深刻的印象。似乎通过相互引用对齐来放置独立视图真的很容易。但是我需要在约束布局中有一个卡片视图,并且会有多个单独的视图。一般来说,我可以通过卡片视图内的相对布局来实现这一点。但是以约束布局作为我的根布局,卡片视图内的相对布局没有效果。

0 投票
1 回答
5009 浏览

android - 如何在 ConstraintLayout 中使用创建者

ConstraintLayout我们有新类型的参数creatorlayout_constraintTop_creator或者layout_constraintRight_creator 它应该如何使用?

0 投票
3 回答
2096 浏览

android - ConstraintLayout 和 TextView wrap_content 的问题

由于我已更新到 Android Studio 2.2 并开始使用ConstraintLayout新的 UI Builder,因此出现了一个我无法解决的问题。

我有一个简单的布局,ImageViewTextView右侧为ImageView. 从服务器动态更新文本TextView(我不知道该文本的确切长度)。我想使用屏幕右侧和右侧TextView之间的所有可用空间。ImageView早些时候RelativeLayout我使用过 TextView android:layout_width="wrap_content" 并且它有效:

相对布局(屏幕截图)

但是当我使用 ConstraintLayout 时,没有 textwrap 并且 TextView 会超出屏幕。

约束布局(屏幕截图)

0 投票
2 回答
1256 浏览

android - Android ConstraintLayout wrap_content 不显示所有内容

我需要在 中显示所有数据TextView,它必须水平占据所有可用空间并垂直包含所有数据(对于不同的屏幕尺寸或设备方向是必需的)。

但它不占用必要的垂直区域:

屏幕在这里

这是一个错误还是有办法解决我的问题?虽然我只是使用LinearLayout,但没有这样的问题。

我的 XML:

0 投票
2 回答
1053 浏览

java - ConstraintLayout 设计器呈现异常

ConstraintLayout 升级到 alpha9 后,我onMeasure()在设计模式下遇到错误渲染问题: 渲染问题

详情(例外):

java.lang.NoSuchMethodError: android.support.constraint.solver.widgets.ConstraintWidget.immediateConnect(Landroid/support/constraint/solver/widgets/ConstraintAnchor$Type;Landroid/support/constraint/solver/widgets/ConstraintWidget;Landroid/support/ android.support.constraint.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:555) 在 android.support.constraint.ConstraintLayout.updateHierarchy(ConstraintLayout.java:468) 的约束/求解器/小部件/ConstraintAnchor$Type;II)V。 support.constraint.ConstraintLayout.onMeasure_Original(ConstraintLayout.java:770) at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java) at android.view.View.measure(View.java:19731) at android.view.ViewGroup .measureChildWithMargins(ViewGroup.java:6120) 在 android.widget.FrameLayout。onMeasure(FrameLayout.java:185) 在 android.view.View.measure(View.java:19731) 在 android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:715) 在 android.widget.RelativeLayout.onMeasure(RelativeLayout.java :461) 在 com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:545) 在 com.android.layoutlib.bridge.impl 的 android.view.View.measure(View.java:19731)。 RenderSessionImpl.inflate(RenderSessionImpl.java:342) 在 com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) 在 com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) 在 com.intellij。openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 在 com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) 在 com.android.tools.idea.rendering.RenderTask。 lambda$inflate$72(RenderTask.java:659) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 运行(FutureTask.java:266) .run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 运行(FutureTask.java:266) .run(Thread.java:745)

如果我将 build.gradle 中的依赖从更改com.android.support.constraint:constraint-layout:1.0.0-alpha9com.android.support.constraint:constraint-layout:1.0.0-alpha8一切正常。

有小费吗?alpha9版本坏了?

0 投票
3 回答
3605 浏览

android - NestedScrollview 和 ConstraintLayout 可以一起工作吗?

我正在尝试新ConstraintLayout的,它真的很酷很简单。我试图将它应用到 NestedScrollview 内的坐标布局中,ConstraintLayout其中NestedScrollView.

但它不起作用,所有视图都垂直折叠。我该如何解决这个问题?

0 投票
1 回答
5512 浏览

android - 在 DialogFragment 中显示 ConstraintLayout

我希望你能帮我解决一个问题。我试图用谷歌搜索它,并浏览了这里的主题,但无法找到答案。

我最近将布局更改为ConstraintLayouts,到目前为止效果很好。然而,我的问题是我有一些DialogFragments显示 a LinearLayout,当我将其更改为时,ConstraintLayout我只显示一个褪色的叠加层,而不是布局中的元素。如果我将宽度和高度硬编码为类似的100dp,它将显示该区域。当我尝试match_parent或任何其他组合时,同样的问题也适用。我还尝试将高度和宽度设置为设备高度和宽度,但仍然没有运气。

在我的 CreateWeddingMetadataFragment 的 onCreateView 中,我有:

在我的 CreateWeddingMetadataFragmentDialog 我有:

}

这是我目前尝试将其设置为设备大小的原因。

这是 create_welcome_message_view:

如果您需要任何其他信息,请告诉我,并提前致谢。

0 投票
1 回答
715 浏览

android - ConstraintLayout - 调整视图边距

我正在尝试使用如何ConstraintLayoutAndroid Studio 2.2中构建布局的新功能。

当我尝试使用调整视图边距时,没有任何反应。边距没有添加到任何View,我已经添加的或我想添加的。

仅当我在“属性”窗口中为每个视图View单独更改参数 InControl 边距时,边距才会更改。你已经用过这个功能了吗?

在此先感谢您的帮助。

屏幕