While there is now RadioButton Preference widget in Android, you can use the existing CheckBoxPreference widget, add the same OnPreferenceClickListener and add a little code to ensure that only one CheckBox gets clicked.

To start with, here is a sample of a preference XML file.

And in the onCreate() method, you can do it like this:

That should do it.

The solution to this problem is not to use the android:button attribute of the CheckBox widget. Instead, set it to null as well as the android:background attribute and use android:drawableLeft to assign your custom CheckBox drawable.

Here is the complete sample XML code:

The attribute android:drawablePadding is used to place a gap between the image and the text so this is fairly optional.

So you want to change the drawable image of your CheckBox widget but when you compile the app, the image and the text are almost side by side.

I bet you used the attribute android:button in order to do this. This is the culprit. To change the CheckBox image with your own custom images, use the attribute android:drawableLeft.

But wait! Now, there are 2 CheckBox widget images!

Here is the complete XML code to use your custom CheckBox images as well as increasing the space between the icon and the text.

Related Posts Plugin for WordPress, Blogger...