gpt4 book ai didi

android - 在代码中创建 Android ConstraintLayout 和 Guidelines

转载 作者:行者123 更新时间:2023-11-29 19:29:27 27 4
gpt4 key购买 nike

如何以编程方式创建 ConstraintLayouts 和 Guidelines?我已经尝试使用以下代码创建一个简单的布局,该布局使用指南将 View 锚定到屏幕中间,但它在屏幕左侧呈现红色“v” View (请参阅 screenshot)

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

ConstraintLayout cl = new ConstraintLayout(this);
cl.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
setContentView(cl);

Guideline gl = new Guideline(this);
ConstraintLayout.LayoutParams gllp = new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 500);
gllp.guidePercent = 0.5f;
gllp.orientation = LinearLayout.VERTICAL;
gl.setLayoutParams(gllp);
gl.setId(View.generateViewId());
cl.addView(gl);

View v = new View(this);
v.setId(View.generateViewId());
v.setBackgroundColor(0xFFFF0000);
ConstraintLayout.LayoutParams lp = new ConstraintLayout.LayoutParams(50, 500);
lp.rightToRight = gl.getId();
v.setLayoutParams(lp);
cl.addView(v);
}
}

最佳答案

您使用的是哪个版本的 ConstraintLayout?用 beta 3 尝试你的例子,我得到了正确的行为:

enter image description here

编辑——我错了,beta 4 已经修复了这个问题。

此外,为了以编程方式使用 ConstraintLayout 创建布局参数,您应该在将 ConstraintLayout.LayoutParams 设置为 View 之前调用 validate() 函数。

关于android - 在代码中创建 Android ConstraintLayout 和 Guidelines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40411235/

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