android 如何对齐在单选按钮组内单选按钮?

标签: Android XML
发布时间: 2016/10/10 21:06:14
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

中的表像的东西我 activity (我用垂直 + 水平线性布局,使此表),此表中我有按钮,编辑文本,和单选按钮。我需要对齐单选按钮里面 radiogroup 相应的所有表。但目前单选按钮看起来像向左移。

我玩过 gravity 的每个电台 button ,与 gravity 的单选按钮组和它没有帮助。

这里是 2 去年水平线性布局的代码。我需要对齐的单选按钮,以像中心 editText

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:weightSum="6">

            <ImageView
                android:id="@+id/imageQuest"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

            <EditText
                android:id="@+id/quest1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:digits="0123456789-"
                android:ems="10"
                android:inputType="number"
                android:maxLength="3"
                android:hint="0"
                android:gravity="center" />

            <EditText
                android:id="@+id/quest2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:digits="0123456789-"
                android:ems="10"
                android:inputType="number"
                android:maxLength="3"
                android:hint="0"
                android:gravity="center" />

            <EditText
                android:id="@+id/quest3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:digits="0123456789-"
                android:ems="10"
                android:inputType="number"
                android:maxLength="3"
                android:hint="0"
                android:gravity="center" />

            <EditText
                android:id="@+id/quest4"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:digits="0123456789-"
                android:ems="10"
                android:inputType="number"
                android:maxLength="3"
                android:hint="0"
                android:gravity="center" />

            <EditText
                android:id="@+id/quest5"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:digits="0123456789-"
                android:ems="10"
                android:inputType="number"
                android:maxLength="3"
                android:hint="0"
                android:gravity="center" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:weightSum="6">

            <ImageView
                android:id="@+id/imageLongestWay"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

            <RadioGroup
                android:id="@+id/RadioGroup"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:orientation="horizontal"
                android:weightSum="5">

                <RadioButton
                    android:id="@+id/radioButton1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <RadioButton
                    android:id="@+id/radioButton2"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <RadioButton
                    android:id="@+id/radioButton3"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <RadioButton
                    android:id="@+id/radioButton4"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <RadioButton
                    android:id="@+id/radioButton5"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />
            </RadioGroup>


        </LinearLayout>

下面是截图︰单选按钮不对齐里面单选按钮组

解决方法 1:

您需要创建自定义 RadioButtondrawable :

<RadioButton
      android:id="@+id/radioButton1"
      android:layout_width="0dp"
      android:layout_height="50dip"
      android:layout_weight="1"
      android:layout_gravity="center_horizontal"
      android:button="@android:color/transparent"
      android:drawableLeft="@drawable/custom_radio_button"/>

custom_radio_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_checked_radio_button" android:state_checked="true" android:state_pressed="false" />
    <item android:drawable="@drawable/ic_uncheked_radio_button" android:state_checked="false" android:state_pressed="false" />
</selector>
赞助商