user1097185
user1097185

Reputation: 1058

How to put an image to the right of a radio button, Android

I am trying to make a radio button list of 4 items. Each item needs to have text to it's right, but also an image to the right of the text. The image is not the radio button itself, it's an image describing the option. I have no luck so far, the designer seems to be useless to put things in place. You have to know how to code this in XML. My XML looks like this:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" android:weightSum="1" android:baselineAligned="true" android:orientation="horizontal">
    <RadioGroup android:layout_weight="0.50" android:layout_height="wrap_content" android:id="@+id/radioGroup1" android:layout_width="0dp">
        <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:checked="true" android:text="A" android:id="@+id/radio0"></RadioButton>
        <ImageView android:layout_toRightOf="@id/radio0" android:layout_height="wrap_content" android:src="@drawable/A2" android:layout_width="wrap_content" android:id="@+id/imageView1"></ImageView>
        <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="B" android:id="@+id/radio1"></RadioButton>
        <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="C" android:id="@+id/radio2"></RadioButton>
        <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="D" android:id="@+id/radio3"></RadioButton>
    </RadioGroup>

</LinearLayout>

Here I am trying to put one image to the right of the first radio button, with no success. How do I put images to the right of the radio buttons?

Upvotes: 15

Views: 24057

Answers (3)

Gautam Kumar
Gautam Kumar

Reputation: 1463

<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/ic_launcher"/>

RadioButton itself contains a TextView as default.. so you can do all the operations those are present for any TextView.

BONUS: If you want to change the circular dot that shows check status, just update the android:button tag to refer your own drawable.

Upvotes: 2

Haris Qurashi
Haris Qurashi

Reputation: 2124

Use android:drawableXXXXX in your view to add images/drawable, use drawable padding if you want to add some padding.

Upvotes: 1

Orkun
Orkun

Reputation: 7268

For a button you can put drawables to the Top/right/left/bottom of it. So I thought it might work the same way for radiobutton.

Have a look at this link in the android developers site

Did you try this?

Update

So in your case, remove the imageview and add android:drawableRight (or left/bottom/top) in your radiobuttons

<RadioButton
    android:drawableRight="@drawable/A2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:text="A"
    android:id="@+id/radio0"/>

Upvotes: 22

Related Questions