问题标签 [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.
android - 约束布局而不是相对布局
在新的Android Studio 2.2中引入了约束布局,我在此处和此处搜索并阅读了有关此新布局的信息。在这个链接中,我读到了约束和相对布局之间的差异,但仍然存在一些问题:
RelativeLayout
如此处所述,我们可以ConstraintLayout
完全替换吗?- 旧版本的设备可以支持
ConstraintLayout
吗? - 为了设计应用程序,
ConstraintLayout
我们必须更新到 Android Studio 2.2? - 使用
ConstraintLayout
我们不需要为所有屏幕分辨率编写许多dimens.xml 来拥有响应式应用程序吗?
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:
样本布局:
android - 如何在android中的约束布局内有一个组视图?
约束布局的工作方式给我留下了深刻的印象。似乎通过相互引用对齐来放置独立视图真的很容易。但是我需要在约束布局中有一个卡片视图,并且会有多个单独的视图。一般来说,我可以通过卡片视图内的相对布局来实现这一点。但是以约束布局作为我的根布局,卡片视图内的相对布局没有效果。
android - 如何在 ConstraintLayout 中使用创建者
在ConstraintLayout
我们有新类型的参数creator
:layout_constraintTop_creator
或者layout_constraintRight_creator
它应该如何使用?
android - ConstraintLayout 和 TextView wrap_content 的问题
由于我已更新到 Android Studio 2.2 并开始使用ConstraintLayout
新的 UI Builder,因此出现了一个我无法解决的问题。
我有一个简单的布局,ImageView
其TextView
右侧为ImageView
. 从服务器动态更新文本TextView
(我不知道该文本的确切长度)。我想使用屏幕右侧和右侧TextView
之间的所有可用空间。ImageView
早些时候RelativeLayout
我使用过
TextView
android:layout_width="wrap_content"
并且它有效:
但是当我使用 ConstraintLayout 时,没有 textwrap 并且 TextView 会超出屏幕。
android - Android ConstraintLayout wrap_content 不显示所有内容
我需要在 中显示所有数据TextView
,它必须水平占据所有可用空间并垂直包含所有数据(对于不同的屏幕尺寸或设备方向是必需的)。
但它不占用必要的垂直区域:
这是一个错误还是有办法解决我的问题?虽然我只是使用LinearLayout
,但没有这样的问题。
我的 XML:
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.measureChildHorizontal(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-alpha9
为com.android.support.constraint:constraint-layout:1.0.0-alpha8
一切正常。
有小费吗?alpha9版本坏了?
android - NestedScrollview 和 ConstraintLayout 可以一起工作吗?
我正在尝试新ConstraintLayout
的,它真的很酷很简单。我试图将它应用到 NestedScrollview 内的坐标布局中,ConstraintLayout
其中NestedScrollView
.
但它不起作用,所有视图都垂直折叠。我该如何解决这个问题?
android - 在 DialogFragment 中显示 ConstraintLayout
我希望你能帮我解决一个问题。我试图用谷歌搜索它,并浏览了这里的主题,但无法找到答案。
我最近将布局更改为ConstraintLayouts
,到目前为止效果很好。然而,我的问题是我有一些DialogFragments
显示 a LinearLayout
,当我将其更改为时,ConstraintLayout
我只显示一个褪色的叠加层,而不是布局中的元素。如果我将宽度和高度硬编码为类似的100dp
,它将显示该区域。当我尝试match_parent
或任何其他组合时,同样的问题也适用。我还尝试将高度和宽度设置为设备高度和宽度,但仍然没有运气。
在我的 CreateWeddingMetadataFragment 的 onCreateView 中,我有:
在我的 CreateWeddingMetadataFragmentDialog 我有:
}
这是我目前尝试将其设置为设备大小的原因。
这是 create_welcome_message_view:
如果您需要任何其他信息,请告诉我,并提前致谢。