使用Android中的图像在单选按钮底部显示文本

时间:2013-12-07 19:21:20

标签: android radio-button

我使用的是自定义单选按钮。 无线电组的每个元素都有2个图片,对于2个状态,在android:button属性中定义。

我想添加文字,但它显示在图片下方,有没有办法在图片底部显示文字???

main_activity.xml

    <RadioButton
        android:id="@+id/radioAlc"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:checked="true"
        android:layout_marginRight="10dp"
        android:button="@drawable/policeradio"
        android:text = "text1"
         />

    <RadioButton
        android:id="@+id/radioCrash"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:button="@drawable/carcrashradio"
        android:layout_marginRight="10dp"
        android:text = "text2"
        />

    <RadioButton
        android:id="@+id/radioMarch"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:button="@drawable/marchradio"
        android:text = "text3"
        />
</RadioGroup>

抽拉/ carcrash.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/carcrash" android:state_checked="true"></item>
<item android:drawable="@drawable/carcrash_gris" ></item>

2 个答案:

答案 0 :(得分:10)

试试这个:

<RadioButton
    android:id="@+id/radioMarch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableTop="@drawable/your_drawable_selector"
    android:gravity="center"
    android:button="@android:color/transparent"
    android:text = "text3"
/>

答案 1 :(得分:0)

我解决了它:

    <RadioButton
        android:id="@+id/radioMarch"
        style="@style/navbar_button"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/marchradio"
        android:text="Mar" />

在style.xml中

<style name="navbar_button">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:button">@null</item>
    <item name="android:gravity">center_horizontal</item>
    <item name="android:layout_weight">1</item>
    <item name="android:textSize">11sp</item>
</style>