如何在 ConstraintLayout 中访问父级
How to access parent in ConstraintLayout
我正在使用 ConstraintLayout 以编程方式创建视图,我想设置我的按钮视图 topTotop
父视图和 leftToleft
父视图。我该怎么做?
我的代码如下:
Button button = new Button(MainActivity.this);
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(widthInt, heightInt);
params.topToTop = // I want to set it parent
params.leftToLeft = // I want to set it parent
params.setMargins(marginStartint , marginTopInt , 0 , 0);
button.setLayoutParams(params);
您可以使用PARENT_ID
所以你的代码变成
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
params.leftToLeft = ConstraintLayout.LayoutParams.PARENT_ID;
您可以使用 ConstraintSet's Connect method to perform such operations. There PARENT_ID 来引用父 ID。
ConstraintLayout layout = (ConstraintLayout)fndViewById(R.id.mainConstraint);
ConstraintSet set = new ConstraintSet();
set.clone(layout);
set.connect(view.getId(), ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 0);
//view refers to the view's constraint to be changed
set.applyTo(layout);
connect
void connect (int startID,
int startSide,
int endID,
int endSide,
int margin)
Create a constraint between two widgets.
我正在使用 ConstraintLayout 以编程方式创建视图,我想设置我的按钮视图 topTotop
父视图和 leftToleft
父视图。我该怎么做?
我的代码如下:
Button button = new Button(MainActivity.this);
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(widthInt, heightInt);
params.topToTop = // I want to set it parent
params.leftToLeft = // I want to set it parent
params.setMargins(marginStartint , marginTopInt , 0 , 0);
button.setLayoutParams(params);
您可以使用PARENT_ID
所以你的代码变成
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
params.leftToLeft = ConstraintLayout.LayoutParams.PARENT_ID;
您可以使用 ConstraintSet's Connect method to perform such operations. There PARENT_ID 来引用父 ID。
ConstraintLayout layout = (ConstraintLayout)fndViewById(R.id.mainConstraint);
ConstraintSet set = new ConstraintSet();
set.clone(layout);
set.connect(view.getId(), ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 0);
//view refers to the view's constraint to be changed
set.applyTo(layout);
connect
void connect (int startID, int startSide, int endID, int endSide, int margin)
Create a constraint between two widgets.