Android 使用ConstraintLayout LayoutParams和ConstraintSet之间的区别?
有两种方法可以通过编程方式在Android 使用ConstraintLayout LayoutParams和ConstraintSet之间的区别?,android,android-constraintlayout,constraintset,Android,Android Constraintlayout,Constraintset,有两种方法可以通过编程方式在ConstraintLayout上设置约束: (此处示例:将ProgressBar垂直和水平居中放置在按钮上) 1。使用ConstraintLayout.LayoutParams ConstraintLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); int buttonId =
ConstraintLayout
上设置约束:
(此处示例:将ProgressBar
垂直和水平居中放置在按钮上
)
1。使用ConstraintLayout.LayoutParams
ConstraintLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
int buttonId = button.getId();
params.leftToLeft = buttonId;
params.rightToRight = buttonId;
params.topToTop = buttonId;
params.bottomToBottom = buttonId;
progressBar.setLayoutParams(params);
ConstraintLayout.LayoutParams params=新的LayoutParams(LayoutParams.WRAP_内容,
LayoutParams.WRAP_内容);
int buttonnid=button.getId();
params.leftToLeft=buttonId;
params.rightToRight=按钮ID;
params.topToTop=buttonId;
params.bottomToBottom=buttonId;
progressBar.setLayoutParams(参数);
2。使用约束集
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.centerHorizontally(progressBarId, buttonId);
constraintSet.centerVertically(progressBarId, buttonId);
constraintSet.constrainWidth(progressBarId, ConstraintSet.WRAP_CONTENT);
constraintSet.constrainHeight(progressBarId, ConstraintSet.WRAP_CONTENT);
constraintSet.applyTo(constraintLayout);
ConstraintSet ConstraintSet=新ConstraintSet();
水平约束设置中心(progressBarId、buttonId);
约束设置中心垂直(progressBarId、buttonId);
constraintSet.ConstraintWidth(progressBarId、constraintSet.WRAP_内容);
constraintSet.ConstraintHeight(progressBarId、constraintSet.WRAP_内容);
constraintSet.applyTo(constraintLayout);
那么,使用
ConstraintLayout.LayoutParams
和使用ConstraintSet
有什么区别呢?这两个阶级为什么存在?其中一个还不够吗?什么时候应该使用ConstraintLayout.LayoutParams
以及什么时候应该使用ConstraintSet
?我认为约束存储在布局参数中,ConstraintSet或多或少是一个用于操作这些值的便利类。。在我看来,使用ConstraintSet比弄清楚如何操作布局参数要好。