我在 AlertDialog 中设置的视图中有两个 RadioButtons。虽然第一个按钮的文本显示为水平,但第二个按钮的文本显示为垂直。最初,我认为这是由于视图没有填充对话框本身的宽度,但这似乎不是问题(我尝试使文本更小并且得到相同的结果)。我确定我过去曾遇到过这种情况,但我不记得我是如何解决的。我在 AlertDialog 的应用程序中的其他地方使用 RadioButtons 没有问题,所以我很困惑。这就是它的样子。我绝不会在 dp 中硬编码任何布局或项目的宽度;我只使用 match_parent 或 wrap_content:
因此,任何试图解决此问题的帮助将不胜感激!
我的布局(在其上调用 LayoutInflator,然后应用值/侦听器):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/template"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dp"
android:orientation="horizontal">
<CheckBox
android:id="@+id/check_box"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.45"
android:textSize="16sp"
android:textColor="@color/Black" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.55"
android:orientation="horizontal"
android:enabled="False">
<RadioButton
android:id="@+id/radio_button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textDirection="ltr"
android:enabled="False"
android:textColor="@color/Black"/>
<RadioButton
android:id="@+id/radio_button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:enabled="False"
android:textColor="@color/Black"
android:checked="true"/>
</RadioGroup>
</LinearLayout>
像这样膨胀布局可以正常工作并提供所需的输出:
LinearLayout inflatedLayout = (LinearLayout) this.getLayoutInflater().inflate(R.layout.template, null);
currDialog = CreateDialog.getDialog(this, "Title", inflatedLayout );
currDialog.show();
但是,当我将其添加到 TableRow 对象中,然后将其添加到 TableLayout 对象中时,它会给出意外的结果。我将首先尝试使用RelativeLayout。