gpt4 book ai didi

java - 使用 ConstraintSet 设置 View

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:22 25 4
gpt4 key购买 nike

我的 ConstraintSet 属性有问题,我已经完成了约束布局,我希望它通过代码更改一些约束,但是当我创建新的 ConstraintLayout 并将上下文设置为“this”,然后 setContentView(myLayout) 时,它是一个空白空间。如何让它显示我之前制作的布局?

onCreate()

      @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ConstraintLayout myLayout = new ConstraintLayout(this);
setContentView(myLayout);
setContentView(R.layout.activity_gr);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

最佳答案

如果你只是想膨胀你在 xml 中创建的constraintLayout,通常只需这样做:

 setContentView(R.layout.activity_gr);

没有其他任何东西。

如果你想以编程方式搞乱 ConstraintSets 和其他东西,可以这样做:

ConstraintLayout myLayout = new ConstraintLayout(this);
ConstraintSet constraints = new ConstraintSet();
constraints.clone(context, R.layout.activity_gr);
myLayout.setConstraintSet(constraints);
setContentView(myLayout);

clone()调用的幕后,布局被夸大了。请记住,这仅保留布局的约束部分。

然后您可以以编程方式添加约束,例如:

constraints.connect(R.id.some_id, TOP, R.id.some_other_id, BOTTOM)

如果我正确解释你的问题,我认为你应该在 xml 中的 contraintLayout 上设置和 id,如 my_container 并执行以下操作:

setContentView(R.layout.activity_gr);
ConstraintLayout layout = findViewById(R.id.my_container)
ConstraintSet constraints = new ConstraintSet();
constraints.clone(layout);
// Edit constraints of the constraints set
// Apply your new constraints to the inflated layout
constraints.applyTo(layout)

关于java - 使用 ConstraintSet 设置 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56150886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com