RadioButtons看起来像ImageButtons

时间:2014-11-17 20:50:05

标签: android

有没有办法使用RadioButtons,但让它们看起来像ImageButtons?

我想要RadioButtons的功能(即,当点击任一按钮,其他人获得"未被点击")和ImageButton的图形(顶部的可绘制和当您点击时改变颜色的背景)它)。当前选择的RadioButton应保持与按下按钮时相同的颜色(例如,对于Holo Light主题稍暗)。

我尝试使用带有此选择器的RadioGroup作为每个RadioButton的按钮:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/btn_default_pressed_holo_light" android:state_checked="true"</item>
    <item android:drawable="@drawable/btn_default_normal_holo_light"></item>
</selector>

和我想要的drawable作为drawable值。这种作品看起来很难看。 drawable相对于背景左对齐,背景看起来不像常规按钮,即使我使用了Holo Light中按钮的9-patch。

示例RadioButton:

<RadioButton
android:button="@drawable/ic_action_game"
android:background="@drawable/radio_background_selector"
android:id="@+id/game_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:padding="6dip"/>

2 个答案:

答案 0 :(得分:0)

考虑使用button代替background属性

android:button="@drawable/your_drawable"

有关自定义RadioButtons的更多信息,请参阅this post

答案 1 :(得分:0)

完成我想要的设置这些属性:

<RadioButton
    android:button="@null"
    android:drawableRight="@drawable/ic_action_game"
    android:background="@drawable/radio_background_selector"
    android:id="@+id/game_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:padding="6dip"/>