我试图在水平和垂直中心制作一个带有两个单选按钮的RadioGroup。但是我也希望他们通过无线电保持对齐,因为他们有不同的文字长度。我使用了这段代码,但它们并不相互排斥:
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|center_vertical">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rbtn_gps_to"
android:text="to"
android:checked="true"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rbtn_gps_from"
android:text="from"
android:layout_below="@+id/rbtn_gps_to"
/>
</RelativeLayout>
</RadioGroup>
它有效,两者都按照我的意愿对齐,但问题是,当我检查一个然后我检查另一个,第一个保持也检查,所以它们不是独占的。当我删除相对布局时,radiobuttons是独占的。有没有办法创建我想要的布局,并且无线电按钮保持独占?
答案 0 :(得分:2)
以前的答案包含一些问题。要选择的点不在一列中,它们不对齐。这个解决方案看起来和你的一样。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:layout_width=" wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<RadioButton android:id="@+id/rbtn_gps_to"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="to"/>
<RadioButton android:id="@+id/rbtn_gps_from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="from"/>
</RadioGroup>
</RelativeLayout>
答案 1 :(得分:0)
您可以使用以下内容:
<RadioGroup
android:id="@+id/radio_group_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<RadioButton
android:id="@+id/rbtn_gps_from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="from" />
<RadioButton
android:id="@+id/rbtn_gps_to"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="to" />
</RadioGroup>
答案 2 :(得分:0)
是的,您可以通过将radioGroup的xml属性设置为vertical来进行所需的布局。
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rbtn_gps_to"
android:text="to"
android:checked="true"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rbtn_gps_from"
android:text="from"
/>
</RadioGroup>