我制作了一个无线电组,在其中我制作了两个线性布局,在每个线性布局中我添加了两个单选按钮。
但问题是,当我运行应用程序时,多个单选按钮被选中即。他们没有互相排斥。
以下是我的XML文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_simple_maths_game"
android:layout_width="match_parent" android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.root.mysimplemathsgame.SimpleMathsGame" android:background="#000"
android:orientation="vertical" android:baselineAligned="false">
<LinearLayout
android:layout_weight="0.4" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="0dp">
<TextView
android:text="@string/mytext" android:id="@+id/tvText"
android:layout_width="wrap_content" android:layout_height="0dp"
android:layout_weight="0.87" android:textColor="#fff"
android:textAppearance="@style/TextAppearance.AppCompat.Large" android:padding="20dp"
android:gravity="center_vertical" android:layout_gravity="center_vertical"
android:textSize="32sp" />
<LinearLayout
android:layout_weight="1" android:background="#fff"
android:layout_width="match_parent" android:layout_height="0dp"
android:orientation="horizontal">
<RadioGroup
android:paddingLeft="30dp" android:id="@+id/rgOptions"
android:layout_width="match_parent" android:layout_height="match_parent">
<LinearLayout
android:layout_weight="1" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="0dp">
<RadioButton
android:layout_weight="1" android:textColor="#000"
android:id="@+id/rb1" android:text="@string/answer1"
android:layout_width="0dp" android:layout_height="match_parent" />
<RadioButton
android:layout_weight="1" android:textColor="#000"
android:id="@+id/rb2" android:text="@string/answer2"
android:layout_width="0dp" android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_weight="1" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="0dp">
<RadioButton
android:textColor="#000"
android:layout_weight="1" android:layout_gravity="start"
android:id="@+id/rb3" android:text="@string/answer3"
android:layout_width="0dp" android:layout_height="match_parent" />
<RadioButton
android:textColor="#000"
android:layout_weight="1" android:layout_gravity="end"
android:id="@+id/rb4" android:text="@string/answer4"
android:layout_width="0dp" android:layout_height="match_parent" />
</LinearLayout>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="wrap_content">
<Button
android:layout_weight="1"
android:text="@string/end" android:id="@+id/bEnd" android:layout_gravity="center_horizontal"
android:layout_width="match_content" android:layout_height="wrap_content" />
</LinearLayout>
答案 0 :(得分:2)
RadioGroup是Linearlayout的子类。 RadioGroup只能包含RadioButton作为直接子节点,因为它可以作为一个组工作。如果您在其中放置一个布局,那么它将作为布局工作,并且可以选择多个Radiobuttons。所以问题的答案删除了LinearLayout。如果你想要方向,RadioGroup里面有Orientation属性。
答案 1 :(得分:0)
试试这个......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_simple_maths_game"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="vertical"
android:weightSum="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:orientation="horizontal">
<TextView
android:id="@+id/tvText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:padding="20dp"
android:text="My Text"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:textColor="#000"
android:textSize="32sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<RadioGroup
android:id="@+id/rgOptions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="30dp">
<RadioButton
android:id="@+id/rb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="answer1"
android:textColor="#000" />
<RadioButton
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="answer1"
android:textColor="#000" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="answer1"
android:textColor="#000" />
<RadioButton
android:id="@+id/rb4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="answer1"
android:textColor="#000" />
</LinearLayout>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:orientation="horizontal">
<Button
android:id="@+id/bEnd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="end" />
</LinearLayout>