【发布时间】:2014-04-21 16:43:01
【问题描述】:
在我的应用程序中,我动态添加了单选按钮,成功地我可以添加并获取我的问题是 UI 的值,它没有正确对齐,布局权重会使我的 UI 发生任何变化
看看我的代码
拥有文本视图和单选按钮
LinearLayout.LayoutParams mainparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
mainparams.setMargins(0, 8, 0, 0);
我的动态文本视图
LinearLayout li = new LinearLayout(Appointmentdetails.this);
li.setOrientation(LinearLayout.HORIZONTAL);
li.setLayoutParams(mainparams);
LinearLayout.LayoutParams mainparams1 = new LinearLayout.LayoutParams(
0, LayoutParams.WRAP_CONTENT);
mainparams1.setMargins(0, 10, 0, 0);
mainparams1.weight = 1f;
TextView tv = new TextView(this);
tv.setTextSize(18);
tv.setTypeface(Typeface.DEFAULT_BOLD);
tv.setTypeface(MyriadPro);
tv.setLayoutParams(mainparams1);
tv.setText(Alldata.question.get(i).getgQuestion());
tv.setSingleLine();
tv.setPadding(25, 10, 0, 0);
tv.setTextColor(Color.parseColor("#009099"));
tv.setMarqueeRepeatLimit(10);
tv.setEllipsize(TruncateAt.MARQUEE);
tv.setSelected(true);
我的动态单选按钮
RadioGroup rg = new RadioGroup(Appointmentdetails.this);
// rg.setLayoutParams(lparams1);
gAnswerList.add("Select vlaue");
for (int j = 0; j < helptext.split(Expressions).length; j++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(5, 0, 0, 0);
// Edittext.setLayoutParams(lparams1);
params.weight = 1.6f;
RadioButton rb = new RadioButton(Appointmentdetails.this);
rb.setText(helptext.split(Expressions)[j].toString());
rb.setId(j);
rb.setLayoutParams(params);
rg.addView(rb);
}
li.addView(tv);
li.addView(rg);
mQuestionLayout.addView(li);
我当前的输出
我的单选按钮需要像编辑文本一样对齐,请帮助我获得正确的解决方案,
提前致谢,
【问题讨论】:
-
尝试为您的 Radio Group 参数提供 LayoutParams.WRAP_CONTENT -> 0。
-
试过但没有运气,如果我给 0 则单选按钮不显示。
-
您需要为 rg(无线电组)而不是 rb 赋予布局权重。
-
是的,得到了解决方案,非常感谢..
标签: android user-interface dynamic radio-button