gpt4 book ai didi

android - 以编程方式创建 LinearLayout 后居中元素

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:37 26 4
gpt4 key购买 nike

我正在运行时创建一个 LinearLayout,我在其中添加了两个元素:一个 TextView 和一个微调器。我想在 LinearLayout 中将它们水平居中,但不知道该怎么做。下面是我用来创建 View 的代码:

LinearLayout leftSideAttributLayout = new LinearLayout(this);

leftSideAttributLayout.setOrientation(LinearLayout.HORIZONTAL);

LinearLayout.LayoutParams attributLayoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
leftSideAttributLayout.setLayoutParams(attributLayoutParams);

LinearLayout.LayoutParams leftLabelParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
leftLabelParams.gravity = Gravity.CENTER;
leftAttributLabel.setLayoutParams(leftLabelParams);
TextView leftAttributLabel = new TextView(this);

leftAttributLabel.setText(attribut.getNom());
leftAttributLabel.setTextColor(Color.WHITE);
Tools.applyFont(getApplicationContext(), leftAttributLabel, "gothic_0.TTF");

LinearLayout.LayoutParams spinnerParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
spinnerParams.gravity = Gravity.CENTER_HORIZONTAL;
spinnerParams.setMargins(10, 0, 0, 0);

Spinner leftAttributValues = new Spinner(this);
leftAttributValues.setLayoutParams(spinnerParams);
leftAttributValues.setAdapter(adapter);
leftAttributValues.setBackgroundResource(R.drawable.lenti_attributspinner);
leftAttributValues.setTag(attribut);

如果有人可以帮助我,那就太好了!谢谢:)

最佳答案

因为你必须将 gravity 设置为 linearlayout 本身,所以只需在设置线性布局参数后放置此行

leftSideAttributLayout.setGravity(Gravity.CENTER);

这是您的代码示例

 LinearLayout leftSideAttributLayout = new LinearLayout(this);

leftSideAttributLayout.setOrientation(LinearLayout.HORIZONTAL);

LinearLayout.LayoutParams attributLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
attributLayoutParams.gravity = Gravity.CENTER;


leftSideAttributLayout.setLayoutParams(attributLayoutParams);
leftSideAttributLayout.setGravity(Gravity.CENTER);

LinearLayout.LayoutParams leftLabelParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//leftLabelParams.gravity = Gravity.CENTER;

TextView leftAttributLabel = new TextView(this);

leftAttributLabel.setText("sample");
leftAttributLabel.setTextSize(25);
leftAttributLabel.setLayoutParams(leftLabelParams);


LinearLayout.LayoutParams spinnerParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
// spinnerParams.gravity = Gravity.CENTER;
spinnerParams.setMargins(10, 0, 0, 0);

Spinner leftAttributValues = new Spinner(this);
leftAttributValues.setLayoutParams(spinnerParams);

leftSideAttributLayout.addView(leftAttributLabel);
leftSideAttributLayout.addView(leftAttributValues);

mainview.addView(leftSideAttributLayout);

希望对你有帮助

关于android - 以编程方式创建 LinearLayout 后居中元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869094/

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