Андроид. ImageView как RadioButton

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

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

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


person Santiago Gil    schedule 22.08.2016    source источник


Ответы (3)


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

person KDeogharkar    schedule 22.08.2016

вы можете попробовать с атрибутом button, как показано ниже.

<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>
person brahmy adigopula    schedule 22.08.2016

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

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

person Seishin    schedule 22.08.2016