Articles of android constraintlayout

ConstraintLayout无法在蓝图模式之外正确呈现

我今天开始使用Android Studio 2.2和ConstraintLayout,但我在渲染方面遇到了一些问题。 使用蓝图模式时,一切正常。 使用“设计模式”时,对象会粘在左上角,全部拼接在一起。 Android Studio警告: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/constraint/solver/widgets/ConstraintAnchor$Type;II)V at android.support.constraint.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:517) at android.support.constraint.ConstraintLayout.updateHierarchy(ConstraintLayout.java:433) at android.support.constraint.ConstraintLayout.onMeasure_Original(ConstraintLayout.java:728) at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java) at android.view.View.measure(View.java:19731) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:19731) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:19731) at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:545) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:342) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$72(RenderTask.java:659) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) […]

约束布局中的障碍和指南有什么区别?

最近尝试实施Constraint Layout但我发现Barrier和Guideline工作原理相同。 两者都像分频器一样。 它们之间有什么区别吗?

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

我需要对ConstraintLayout中的一组视图应用一些ConstraintLayout 。 我想将这些视图分组并继续编辑,而Android Studio中的布局设计器将它们视为单个视图。 有没有办法在没有用ViewGroup (另一种布局)实际包装视图的情况下这样做? 如果需要这样的包装器,可能有一个ConstraintLayout附带的包装器布局,并允许对对象进行分组而不会创建像RelativeLayout这样的大型布局?

如何定位在ConstraintLayout中两个视图中最低的位置?

我有两个标题视图, HeaderViewA和HeaderViewB 。 这些视图可以具有visible或gone任何可见性组合。 我需要将BigView定位在 HeaderViewA / HeaderViewB的最低位置。 如果没有在ConstraintLayout嵌套,这可能吗?

Travis CI构建不适用于Android Constraint Layout

我想让Travis构建我的Android项目。 它尝试下载ConstraintLayout库时失败。 你知道我必须做些什么才能让它发挥作用吗? 我的.travis.yml是这样的: language: android jdk: – oraclejdk8 android: components: – platform-tools – tools – build-tools-23.0.2 – android-23 – extra-android-support – extra-android-m2repository – extra-google-m2repository 我的build.gradle是: apply plugin: ‘com.android.application’ android { compileSdkVersion 23 buildToolsVersion “23.0.2” defaultConfig { applicationId “my.example.bdd” minSdkVersion 9 targetSdkVersion 23 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled […]

以编程方式更改约束布局中的指南百分比

我有像这样的约束布局的指南 后来我想将app:layout_constraintGuide_percent值更改为其他条件。 我怎样才能做到这一点。

ConstraintLayout宽高比

考虑以下布局文件: 我不确定app:layout_constraintDimensionRatio是如何工作的。 我的理解是比例总是宽度:高度。 所以3:1总是让ImageView看起来比高度宽3倍。 前缀H或W告诉ConstraintLayout哪个维度应该尊重比率。 如果是H则表示首先根据其他约束计算宽度,然后根据纵横比调整高度。 然而,这是布局的结果: 高度是宽度的3倍,这是意料之外的。 任何人都可以向我解释如何根据app:layout_constraintDimensionRatio设置计算维度?

如何使用ConstaintLayout将多个视图集中在一起?

背景 谷歌已经宣布了一种名为“ ConstraintLayout ”的新布局,该布局应该是最终布局,可以取代所有布局,同时保持平坦(没有内部布局)并具有更好的性能。 问题 事情是,我几乎没有看到任何可以帮助我解决这个问题的教程,除了在Google IO上展示的video。 我尝试做的是,我在另一个布局中有一个垂直居中的LinearLayout – 将它们转换为单个ConstraintLayout。 毕竟,这是这个新布局的目的…… 我想要处理的布局如下: 请注意,中心的视图仅垂直居中,并且2个textView位于ImageView的右侧,ImageView也垂直居中。 这一切都适用于RelativeLayout,它具有2个TextViews的LinearLayout,但我想知道如何将它们转换为单个ConstraintLayout。 这是我展示的示例XML: 我尝试了什么 我尝试阅读一些文章并观看Google的一些video: https://codelabs.developers.google.com/codelabs/constraint-layout/index.html#0 https://www.youtube.com/watch?v=sO9aX87hq9c https://youtu.be/csaXml4xtN8?t=1693 这没有用,所以我尝试使用它,希望我自己能find如何使用它。 但我无法find如何做到这一点。 我尝试使用该function转换布局,但这会使视图变得非常混乱,并且会增加我不希望拥有的额外边距。 这个问题 如何将2个布局转换为单个ConstraintLayout?

ConstraintLayout:`layout_constraintLeft_creator`在xml中做了什么?

示例代码: tools:layout_constraintRight_creator=”1″是什么tools:layout_constraintRight_creator=”1″在这做什么? 没有任何文件解释这些事情。

Android ConstraintLayout – 将一个视图放在另一个视图的顶部

我正在尝试在Button上添加一个ProgressBar (两者都在ConstraintLayout )。 但是即使在onCreate上的ProgressBar上调用了bringToFront之后,它也总是留在Button 。 ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar); progressBar.bringToFront();