【问题标题】:Android how to change the radio button image programaticallyAndroid如何以编程方式更改单选按钮图像
【发布时间】:2014-04-30 08:07:57
【问题描述】:
我有一个单选按钮,我想根据状态更改选中的小图标,但它是一个简单的开、关状态。
基本上我想让它看起来像一个 LED,我有一个红色图像和一个绿色图像,当它被选中时我希望它是绿色的,当它没有被选中时我希望它是红色的。
目前我尝试过的选项,只是将图像粘贴在整个视图的背景中,而不仅仅是小圆圈区域。像这样
我有两个从 http://android-holo-colors.com/ 生成的可绘制对象
radio_red.png 和 radio_green.png
【问题讨论】:
标签:
android
android-resources
android-drawable
android-radiobutton
【解决方案1】:
您必须通过 Java 代码设置单选按钮的背景:
radioButton.setButtonDrawable(R.drawable.custom_radiogroup_divider);
它也适用于复选框;)
【解决方案2】:
创建一个可绘制的状态列表(参见this page)并在RadioButton 上使用android:button 属性。如果你真的想确保你涵盖了所有的状态,你可以找到用于 Android 的默认单选按钮指示器的源,然后换掉可绘制的名称。您可以在 [android-sdk-directory]/platforms/android-#/data/res/drawable 文件夹中的某个位置找到该文件。