【问题标题】:How to Radiogroup for a radio button in a Relative android layout如何在相对 android 布局中为单选按钮进行单选分组
【发布时间】:2014-03-30 10:37:30
【问题描述】:

我正在开发一个 android 应用程序,其中登录活动包含现场部门的单选按钮和多年的经验。而且我已经在相对布局中设计了我的登录活动。所以现在我想在不改变对齐方式的情况下对单选按钮进行 RadioGroup。请帮我 ! 提前致谢 !

`

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="@string/reg_view"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText2"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="59dp"
    android:ems="10"
    android:hint="@string/firstname"
    android:inputType="textPersonName"
    android:text="@string/edit_name" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView2"
    android:layout_below="@+id/editText1"
    android:ems="10"
    android:hint="@string/lastname"
    android:inputType="textPersonName"
    android:text="@string/edit_name" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText1"
    android:layout_alignLeft="@+id/editText1"
    android:layout_marginBottom="35dp"
    android:text="@string/name_view"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<RadioButton
    android:id="@+id/radioButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView4"
    android:layout_alignRight="@+id/textView1"
    android:text="@string/teamleader_radio" />
<RadioButton
    android:id="@+id/radioButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView4"
    android:layout_below="@+id/textView2"
    android:checked="true"
    android:text="@string/manager_radio" />
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/textView5"
    android:text="@string/Registration_proceed" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/radioButton1"
    android:layout_centerHorizontal="true"
    android:text="@string/years_view"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<RadioButton
    android:id="@+id/radioButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView4"
    android:layout_below="@+id/textView4"
    android:text="@string/years_check" />

<RadioButton
    android:id="@+id/radioButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/radioButton3"
    android:layout_alignBottom="@+id/radioButton3"
    android:layout_centerHorizontal="true"
    android:text="@string/years1_check" />

<RadioButton
    android:id="@+id/radioButton5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/radioButton4"
    android:layout_alignBottom="@+id/radioButton4"
    android:layout_alignParentRight="true"
    android:text="@string/years3_check" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/radioButton3"
    android:layout_toLeftOf="@+id/radioButton4"
    android:text="@string/dept_view"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/radioButton1"
    android:layout_below="@+id/editText2"
    android:text="@string/desig_view"
    android:textAppearance="?android:attr/textAppearanceMedium" />

`

【问题讨论】:

  • 如果您使用除组之外的单选按钮,那么您将手动管理它,因此请始终尝试在侧面单选按钮组中使用。

标签: android android-layout android-relativelayout radio-group


【解决方案1】:

您可以像这样使用&lt;RadioGroup&gt; 对单选按钮进行分组;

<RadioGroup 
    android:id="@+id/radioGroup"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/Red"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/red"
        android:textColor="@android:color/holo_red_dark" 
        android:onClick="onRadioButtonClicked" />

    <RadioButton
        android:id="@+id/Green"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/green"
        android:textColor="@android:color/holo_green_dark"
        android:onClick="onRadioButtonClicked"/>

    <RadioButton
        android:id="@+id/Blue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/blue"
        android:textColor="@android:color/holo_blue_dark"
        android:onClick="onRadioButtonClicked"/>

</RadioGroup>

【讨论】:

  • AndroidGeek:感谢您的代码。但我在我的 xml 中进行了相同的更改,即图形布局中的对齐方式正在发生变化。我也将方向指定为水平我应该怎么做?
  • 如果你使用RelativeLayout作为root,你需要处理其他小部件的对齐,所以为了避免你可以使用LinearLayout代替它并将方向设置为水平
猜你喜欢
  • 2011-04-26
  • 2013-01-25
  • 2013-06-02
  • 2011-11-01
  • 2013-06-14
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
相关资源
最近更新 更多