对齐RadioGroup中单选按钮旁边的图像

时间:2014-09-17 11:01:54

标签: android android-layout

我的Android应用中有以下相对布局代码:

<RadioGroup
    android:id="@+id/selectSound"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/micLevelLabel"
    android:checkedButton="@+id/radiohighpitched"
    android:layout_marginTop="71dp" >

    <RadioButton
        android:id="@+id/radiohighpitched"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="High Pitched" 
        android:textColor="@color/android:white"
        />

    <RadioButton
        android:id="@+id/radiofoghorn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Fog Horn"
        android:textColor="@color/android:white"
         />

    <RadioButton
        android:id="@+id/radioalarm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Alert Tone"
        android:textColor="@color/android:white" />
</RadioGroup>



<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageButton1"
    android:layout_below="@+id/imageButton1"
    android:onClick="playTone2"
    android:src="@drawable/play_med" />

<ImageButton
    android:id="@+id/imageButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageButton2"
    android:layout_below="@+id/imageButton2"
    android:onClick="playTone3"
    android:src="@drawable/play_med" />

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/selectSound"
    android:layout_toRightOf="@+id/micLevelLabel"
    android:onClick="playTone1"
    android:src="@drawable/play_med" />

它产生一个如下所示的布局:

Layout results

由于ImageButtons的图像大小,恰好排列正确。我最近重新设计了应用,右侧的ImageButtons不再与RadioButtons对齐。

是否有更健壮的方法来构建此布局,以使ImageButtons始终与相应的RadioButtons对齐?

1 个答案:

答案 0 :(得分:3)

如果不是强制性的,要使用ImageButton,您可以采用这种方法。

我做的是:

只需对所有drawableight使用RadioButton,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RadioGroup
        android:id="@+id/rgroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/rd1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_launcher"
            android:text="@string/high" />

        <RadioButton
            android:id="@+id/rd2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_launcher"
            android:text="@string/med" />

        <RadioButton
            android:id="@+id/rd3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_launcher"
            android:text="@string/low" />
    </RadioGroup>

</LinearLayout>

输出:

enter image description here

对于他们的点击事件,您可以从this question

获得提示

希望这有帮助。