Android。 ImageView 作为 RadioButton
Android. ImageView as RadioButton
我想要一些 ImageViews
作为 RadioButtons
工作。但是我不想把一个RadioButton
的mini-button改成select而已;我希望这个迷你按钮消失,而 ImageView 成为整个按钮。因此,像下面这样的解决方案并不好。
<RadioButton
android:id="@+id/myId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/myIcon"/>
是否有小部件或其他东西可以让我将 ImageViews
用作 RadioButtons
,或者我应该自己编写按钮的所有逻辑?
只需在 RadioButton 的 XML 声明的 android:background
中设置图像即可。
同时将 android:button
设置为透明:android:button="@android:color/transparent"
如果您想要不同的状态 - 为两个状态创建一个具有不同图像的选择器。
我会建议您创建自定义单选按钮。查看 Evan Bashir
的 answer
您可以尝试使用 按钮 属性,如下所示。
<RadioButton
android:id="@+id/myId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/myIcon"/>
或通过语法。
myRadioButton.setButtonDrawable(resourceId or Drawable);
并且您可以在通过以下 xml 文件选择 RB 时更改图像...将此文件保存在 drawable 文件夹中,并在 button
属性中或语法上调用它。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/star_down" />
<item android:state_checked="false" android:drawable="@drawable/star" />
</selector>
我想要一些 ImageViews
作为 RadioButtons
工作。但是我不想把一个RadioButton
的mini-button改成select而已;我希望这个迷你按钮消失,而 ImageView 成为整个按钮。因此,像下面这样的解决方案并不好。
<RadioButton
android:id="@+id/myId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/myIcon"/>
是否有小部件或其他东西可以让我将 ImageViews
用作 RadioButtons
,或者我应该自己编写按钮的所有逻辑?
只需在 RadioButton 的 XML 声明的 android:background
中设置图像即可。
同时将 android:button
设置为透明:android:button="@android:color/transparent"
如果您想要不同的状态 - 为两个状态创建一个具有不同图像的选择器。
我会建议您创建自定义单选按钮。查看 Evan Bashir
的 answer您可以尝试使用 按钮 属性,如下所示。
<RadioButton
android:id="@+id/myId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/myIcon"/>
或通过语法。
myRadioButton.setButtonDrawable(resourceId or Drawable);
并且您可以在通过以下 xml 文件选择 RB 时更改图像...将此文件保存在 drawable 文件夹中,并在 button
属性中或语法上调用它。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/star_down" />
<item android:state_checked="false" android:drawable="@drawable/star" />
</selector>