Android 动态单选按钮未正确对齐
动态线性布局重量设置不正确,请参阅以下编码Android 动态单选按钮未正确对齐,android,Android,动态线性布局重量设置不正确,请参阅以下编码 LinearLayout.LayoutParams mainparams = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f); mainparams.setMarg
LinearLayout.LayoutParams mainparams = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,
1.0f);
mainparams.setMargins(0, 10, 0, 0);
LinearLayout li = new LinearLayout(Appointmentdetails.this);
li.setOrientation(LinearLayout.HORIZONTAL);
li.setLayoutParams(mainparams);
LinearLayout text = new LinearLayout(Appointmentdetails.this);
text.setWeightSum(1);
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
2.0f);
text.setLayoutParams(lparams);
tv = new TextView(this);
tv.setTextSize(18);
tv.setTypeface(MyriadPro);
tv.setLayoutParams(lparams);
tv.setText(Alldata.question.get(i).getgQuestion());
tv.setSingleLine();
tv.setPadding(25, 0, 0, 0);
tv.setMarqueeRepeatLimit(10);
tv.setEllipsize(TruncateAt.MARQUEE);
tv.setSelected(true);
text.addView(tv);
li.addView(text);
LinearLayout Spi = new LinearLayout(Appointmentdetails.this);
Spi.setWeightSum(1);
LinearLayout.LayoutParams lparams1 = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
1f);
Spi.setLayoutParams(lparams1);
RadioGroup rg = new RadioGroup(Appointmentdetails.this);
// rg.setLayoutParams(lparams1);
gAnswerList.add("Select");
for (int j = 0; j < helptext.split(Expressions).length; j++) {
RadioButton rb = new RadioButton(Appointmentdetails.this);
rb.setText(helptext.split(Expressions)[j].toString());
rb.setId(j);
rb.setLayoutParams(lparams1);
rg.addView(rb);
}
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup rg, int checkedId) {
for (int i = 0; i < rg.getChildCount(); i++) {
RadioButton rb = (RadioButton) rg.getChildAt(i);
if (rb.getId() == checkedId) {
CharSequence text = rb.getText();
mSelectedRadioValue = text + ",";
gAnswerList.set(i2, text.toString());
// do something with text
return;
}
}
}
});
Spi.addView(rg);
li.addView(Spi);
mQuestionLayout.addView(li);
}
}
LinearLayout.LayoutParams mainparams=新的LinearLayout.LayoutParams(
LayoutParams.FILL\u父级,LayoutParams.WRAP\u内容,
1.0f);
主参数设置边距(0,10,0,0);
LinearLayout li=新的LinearLayout(任命详情。此项);
li.设置方向(线性布局。水平);
li.setLayoutParams(主参数);
LinearLayout text=新的LinearLayout(任命详细信息。此选项);
text.setWeightSum(1);
LinearLayout.LayoutParams lparams=新的LinearLayout.LayoutParams(
LayoutParams.WRAP_内容,LayoutParams.WRAP_内容,
2.0f);
setLayoutParams(lparams);
tv=新文本视图(此);
电视节目(18),;
电视设置字体(MyriadPro);
设置布局参数(lparams);
tv.setText(Alldata.question.get(i.getgQuestion());
tv.setSingleLine();
设置填充(25,0,0,0);
tv.setMarqueeRepeatLimit(10);
tv.setEllipsize(TruncateAt.MARQUEE);
tv.setSelected(true);
text.addView(电视);
li.addView(文本);
LinearLayout Spi=新的LinearLayout(任命详情。此项);
设定权重总和(1);
LinearLayout.LayoutParams lparams1=新的LinearLayout.LayoutParams(
LayoutParams.WRAP_内容,LayoutParams.WRAP_内容,
1f);
Spi.setLayoutParams(lparams1);
RadioGroup rg=新的RadioGroup(任命详细信息。此项);
//rg.setLayoutParams(lparams1);
添加(“选择”);
for(int j=0;j
这就是我如何在动态线性布局中添加了一个单选按钮,我不知道我的编码有什么问题,它没有正确对齐,请建议我获得解决方案。提前感谢。我会尝试将布局参数设置为居中。你几乎只是给他们自由流动和设置任何他们喜欢的包装内容。是的,他们不会填满整个屏幕,这不是你想要的,但是试着传递一些东西,比如试着做一些这样的事情
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
2.0f, lparams.Gravity.CENTER);
我会尝试将布局参数设置为中心。你几乎只是给他们自由流动和设置任何他们喜欢的包装内容。是的,他们不会填满整个屏幕,这不是你想要的,但是试着传递一些东西,比如试着做一些这样的事情
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
2.0f, lparams.Gravity.CENTER);
我会尝试将布局参数设置为中心。你几乎只是给他们自由流动和设置任何他们喜欢的包装内容。是的,他们不会填满整个屏幕,这不是你想要的,但是试着传递一些东西,比如试着做一些这样的事情
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
2.0f, lparams.Gravity.CENTER);
我会尝试将布局参数设置为中心。你几乎只是给他们自由流动和设置任何他们喜欢的包装内容。是的,他们不会填满整个屏幕,这不是你想要的,但是试着传递一些东西,比如试着做一些这样的事情
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
2.0f, lparams.Gravity.CENTER);
尝试使用此选项进行单选按钮和文本对齐
LinearLayout.LayoutParams mainparams = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT
);
LinearLayout li = new LinearLayout(Appointmentdetails.this);
li.setOrientation(LinearLayout.HORIZONTAL);
li.setLayoutParams(mainparams);
li.setWeightSum(2);
LinearLayout.LayoutParams mainparams1 = new LinearLayout.LayoutParams(
0, LayoutParams.WRAP_CONTENT
);
mainparams1.weight = 1;
TextView tv = new TextView(this);
tv.setTextSize(18);
tv.setLayoutParams(mainparams1);
tv.setText("text ");
RadioGroup rg = new RadioGroup(Appointmentdetails.this);
rg.setLayoutParams(mainparams1);
rg.setOrientation(RadioGroup.VERTICAL);
for (int j = 0; j < helptext.split(Expressions).length; j++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT
);
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);
LinearLayout.LayoutParams mainparams=新的LinearLayout.LayoutParams(
LayoutParams.FILL\u父级,LayoutParams.WRAP\u内容
);
LinearLayout li=新的LinearLayout(任命详情。此项);
li.设置方向(线性布局。水平);
li.setLayoutParams(主参数);
li.设定权重总和(2);
LinearLayout.LayoutParams mainparams1=新的LinearLayout.LayoutParams(
0,LayoutParams.WRAP_内容
);
主参数1.weight=1;
TextView tv=新的TextView(此);
电视节目(18),;
tv.setLayoutParams(主参数1);
tv.setText(“文本”);
RadioGroup rg=新的RadioGroup(任命详细信息。此项);
rg.setLayoutParams(主参数1);
rg.设置方向(放射组垂直);
for(int j=0;j
对于单选按钮和文本,请尝试此选项