我试图将 s 放在RadioButton
一些 s 下方TextView
并将它们水平居中,基本上将标签移动到按钮上方。
这是我的代码:
XML:
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:id="@+id/someRadioGroup"/>
爪哇:
LinearLayout choiceLinearLayout = new LinearLayout(context);
choiceLinearLayout.setGravity(Gravity.CENTER);
choiceLinearLayout.setOrientation(VERTICAL);
LinearLayout.LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
choiceLinearLayout.setLayoutParams(layoutParams);
TextView choiceTextView = new TextView(context);
choiceTextView.setText("1");
choiceTextView.setLayoutParams(layoutParams);
choiceTextView.setGravity(Gravity.CENTER);
choiceLinearLayout.addView(choiceTextView);
RadioButton choiceRadioButton = new RadioButton(context);
choiceRadioButton.setText("");
choiceRadioButton.setGravity(Gravity.CENTER);
choiceRadioButton.setLayoutParams(layoutParams);
choiceLinearLayout.addView(choiceRadioButton);
someRadioGroup.addView(choiceLinearLayout);
请注意,上面的代码在循环中添加了七个选项中的每一个。
这是它在 MOST 设备上的样子(在 Android 2.3、4.3 和 4.4 上测试):
这是它在 Android 4.1 上的样子:
请注意,TextView
s 实际上并没有偏离中心 - 它们完全居中。s离RadioButton
得太远了。
我能做些什么来解决这个问题?
编辑:
我已经添加choiceTextView.setGravity(Gravity.CENTER);
到上面的代码中。它没有做任何事情,因为文本已经居中。文字刚刚好。RadioButton
s 离左边太远了。这是在我的设备上启用了布局边界选项的屏幕截图: