如何在约束布局(父)中动态添加线性布局(小时候)



我定义了一种创建线性布局并将其添加到父布局中的方法。但这无效。我想我犯了错误。

    public void methodName() {
        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);
        ConstraintLayout main = (ConstraintLayout) findViewById(R.id.mainLayout);
        main.addView(linearLayout);
   }

要将视图添加到约束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);

最新更新