我正在添加一个带有单选按钮的广播组,如下所示:
RadioGroup control = new RadioGroup( this.getActivity() );
String[] items = content.getDesc().split(",");
control.setOrientation(RadioGroup.HORIZONTAL);
control.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
for(int i = 0; i < items.length; i++){
RadioButton rBtn = new RadioButton( this.getActivity() );
rBtn.setId(i);
rBtn.setChecked(true);
rBtn.setText(items[i]);
control.addView(rBtn);
}
control.setTag(content.getId());
controlList.add(control);
layout.addView(control); //layout is a linear layout
然而,对于i的某些值(我的手机上有2个),单选按钮开始出现在屏幕上。有没有办法设置它,以便它们自动溢出到下一行,如果它们不在屏幕上?
答案 0 :(得分:1)
据我所知,无线电组只能存在于一行中。如果您在屏幕上溢出的物品出现问题,我建议您使用垂直组或旋转器。
答案 1 :(得分:1)
您将方向设置为水平。在某些时候,您将在屏幕上耗尽水平空间,因此水平RadioGroup将具有超出屏幕边界的子节点。除非你将它包装在HorizontalScrollView中,否则它们将不可见。
最好让它垂直,或者找一些其他方式向用户呈现此控件(如Spinner)。