Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CONSTRAINTLAOUT设置constraintHeight_默认值以编程方式_Java_Android_Android Layout_Android Constraintlayout - Fatal编程技术网

Java CONSTRAINTLAOUT设置constraintHeight_默认值以编程方式

Java CONSTRAINTLAOUT设置constraintHeight_默认值以编程方式,java,android,android-layout,android-constraintlayout,Java,Android,Android Layout,Android Constraintlayout,我有一个ConstraintLayout,它包含一个ViewStub,在XML中将app:constraintHeight\u default属性设置为spread。我需要能够在运行时更新此属性,使其值为wrap,但到目前为止,没有任何东西对我有效。布局如下: 到目前为止,我已经尝试使用ConstraintSet以编程方式设置constraintHeight\u默认值,但是从ViewStub膨胀的布局最终具有0宽度和0高度,因此它不会在布局中渲染 ConstraintLayout Cons

我有一个ConstraintLayout,它包含一个
ViewStub
,在XML中将
app:constraintHeight\u default
属性设置为
spread
。我需要能够在运行时更新此属性,使其值为
wrap
,但到目前为止,没有任何东西对我有效。布局如下:


到目前为止,我已经尝试使用
ConstraintSet
以编程方式设置
constraintHeight\u默认值
,但是从
ViewStub
膨胀的布局最终具有0宽度和0高度,因此它不会在布局中渲染

ConstraintLayout ConstraintLayout=root.findviewbyd(R.id.constraint\u布局);
ConstraintSet ConstraintSet=新ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.CONSTRAINTHEIGH(R.id.view\U存根、constraintSet.MATCH\U CONSTRAINT\U WRAP);
constraintSet.applyTo(constraintLayout);
ViewStub ViewStub=root.findViewById(R.id.view\u stub);
viewStub.setLayoutResource(R.layout.custom_布局);
视图存根。充气();

如何设置
视图存根的高度以编程方式包装其高度?

尝试更改以下行:

constraintSet.constrainHeight(R.id.view_stub, ConstraintSet.MATCH_CONSTRAINT_WRAP);
限制高度

constraintSet.constrainDefaultHeight(R.id.view_stub, ConstraintSet.MATCH_CONSTRAINT_WRAP);

约束默认高度

constraintSet.constrainDefaultHeight(R.id.view_stub, ConstraintSet.MATCH_CONSTRAINT_WRAP);
无效约束默认高度(int viewId, 整数高度)

设置高度的计算方式为“匹配约束环绕”或“匹配约束展开”。违约是分散的


好奇的如果你充气然后更新约束高度会发生什么?@stkent同样的情况也会发生。就是这样!感谢这解决了我试图从
wrap\u content
更改为
match\u constraint
(0dp)的问题。