Java 如何将线性布局(作为子布局)动态添加到约束布局(父布局)?

Java 如何将线性布局(作为子布局)动态添加到约束布局(父布局)?,java,android,Java,Android,我定义了一个方法来创建线性布局并将其添加到父布局。但它不起作用。我想我犯了个错误 要将视图添加到ConstraintLayout,必须使用ConstraintSet添加约束 将动态视图添加到约束布局时,它与其他布局略有不同。您需要指定约束,如下所示:- ConstraintLayout main = (ConstraintLayout) findViewById(R.id.mainLayout); ConstraintSet set = new ConstraintSet()

我定义了一个方法来创建线性布局并将其添加到父布局。但它不起作用。我想我犯了个错误


要将视图添加到ConstraintLayout,必须使用ConstraintSet添加约束

将动态视图添加到约束布局时,它与其他布局略有不同。您需要指定约束,如下所示:-

     ConstraintLayout main = (ConstraintLayout) findViewById(R.id.mainLayout);
     ConstraintSet set = new ConstraintSet();

     LinearLayout linearLayout = new LinearLayout(MainActivity.this);
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
     linearLayout.setLayoutParams(params);
     linearLayout.setOrientation(LinearLayout.HORIZONTAL);
     linearLayout.setBackgroundColor(Color.RED);
     main.addView(linearLayout,0);
     set.clone(main);
     set.connect(linearLayout.getId(), ConstraintSet.TOP, main.getId(), ConstraintSet.TOP, 60);
     set.applyTo(main);

你有什么例外吗?我没看到,但我没看到红色。它看起来根本不是线性布局!请发布mainLayout.xml的内容几乎没有内容,只是一个浮动按钮。很抱歉,我无法将其作为评论发布,因为它太长,无法发表评论。谢谢。你解决了我的问题。我只是用“main”替换了“layout”,并调整了边距。
     ConstraintLayout main = (ConstraintLayout) findViewById(R.id.mainLayout);
     ConstraintSet set = new ConstraintSet();

     LinearLayout linearLayout = new LinearLayout(MainActivity.this);
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
     linearLayout.setLayoutParams(params);
     linearLayout.setOrientation(LinearLayout.HORIZONTAL);
     linearLayout.setBackgroundColor(Color.RED);
     main.addView(linearLayout,0);
     set.clone(main);
     set.connect(linearLayout.getId(), ConstraintSet.TOP, main.getId(), ConstraintSet.TOP, 60);
     set.applyTo(main);