I have these radio buttons and they need android:width="X" and android:height"X" however, I do not know how to set these properties so that they adapt to a different screen size.
Here is the code I’m using for my buttons:
<RadioGroup android:layout_width="fill_parent"
android:layout_height="50px" android:orientation="horizontal"
android:checkedButton="@+id/first" android:id="@+id/states">
<RadioButton android:id="@+id/first"
android:background="@drawable/button_radio" android:width="50px"
android:height="50px" />
<RadioButton android:id="@+id/second"
android:background="@drawable/button_radio" android:width="50px"
android:height="50px" />
<RadioButton android:id="@+id/third"
android:background="@drawable/button_radio" android:width="50px"
android:height="50px" />
<RadioButton android:id="@+id/fourth"
android:background="@drawable/button_radio" android:width="50px"
android:height="50px" />
<RadioButton android:id="@+id/fifth"
android:background="@drawable/button_radio" android:width="50px"
android:height="50px" />
</RadioGroup>
I have tried putting the Radio buttons in a table row, but then they don’t operate properly. When I click one, it selected it, but didn’t unselect it when I clicked another.
I have tried replacing the android:width with android:layout_width but then they don’t show.
I have also tried using dip, but then the buttons didn’t show up.
I should also add that I am using drawables instead of the stock radio buttons. I don’t know if this would make a difference, but the drawables are all the same size (50px x 50px).
Does anyone know how I can set the height and width of these so they will adjust themselves to different screen sizes?
Set the height and width using dp instead of px. See the answer to this post for more information on the units. What is the difference between "px", "dp", "dip" and "sp" on Android?
I would also suggest you familiarize yourself with android’s documentation on supporting multiple screens.
Okay, so I’ve taken a moment to whip up a quick example targeted at Android 1.5.
You can find the source here.
In short, you need to take the following steps:
Place your images in
res/drawable. You should have at least 4 icons: Pressed & Unchecked, Pressed & Checked, Not Pressed & Unchecked, Not Pressed & CheckedCreate a
selectortype layout in res/drawable. Here is mine:Then set-up your
RadioGrouplike so:I have specified dimension of 50dp as the dimension of my drawables are 50px x 50px. Also notice I am setting
android:buttonand notandroid:background.Here is a signed APK of the project above: Custom RadioButton (Note: it is targeted to SDK version 4 so it wouldn’t request SD and Phone permissions)
This should give the following result:

Hope this helps.