3

Я хочу, чтобы ImageViews работал как RadioButtons. Но я не хочу, чтобы мини-кнопка RadioButton ее выбрала; Я хочу, чтобы эта мини-кнопка исчезла, а ImageView - целая кнопка. Таким образом, решение, подобное следующему, не является хорошим.Android. ImageView as RadioButton

<RadioButton 
    android:id="@+id/myId" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableRight="@drawable/myIcon"/> 

Есть виджет или то, что я могу использовать, чтобы использовать ImageViews как RadioButtons, или я должен программировать себя всю логику кнопок?

ответ

3

Я предлагаю создать свой настраиваемый переключатель. проверить это answerиз Evan Башир

1

Просто установите изображение в android:background XML-декларации RadioButton. Также установите android:button на прозрачный: android:button="@android:color/transparent"

Если вы хотите иметь разные состояния - создайте селектор с разными изображениями для двух состояний.

1

вы можете попробовать с кнопкой атрибутом как сильфон.

<RadioButton 
android:id="@+id/myId" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:button="@drawable/myIcon"/> 

или через грамматически.

myRadioButton.setButtonDrawable(resourceId or Drawable); 

и вы можете изменить изображения при выборе RB через следующий файл XML ... сохранить этот файл в папке вытяжки и вызвать его в атрибуте или грамматический 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>