Eliminate extra right padding android radio button on Samsung Galaxy S3 on Jellybean API Level 16

StackOverflow https://stackoverflow.com/questions/23251003

Pergunta

I am seeing extra right padding on radio buttons when ran on Samsung Galaxy S3 on Jellybean API Level 16. (see screenshot). Any idea how to eliminate this extra right padding?

May be related to this issue: Android CheckBox extra padding on TouchWiz

Layout XML looks like this:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ff0000">
    <RadioButton
        android:id="@+id/stw_no_thanks_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="0dp"
        android:layout_margin="0dp"
        android:drawablePadding="0dp" />
</FrameLayout>

Thanks.

enter image description here

Foi útil?

Solução

This seems to be an issue with API 16 and lower. API 17 doesn't include this extra space.

Also the issue doesn't seem specific to Samsung (I was able to reproduce the issue in the emulator).

Here is my workaround, not sure if it is the best, but it solved my problem:

layout.xml

<RadioButton
    android:id="@+id/radio_button"
    android:layout_width="@dimen/radiobutton_width"
    android:layout_height="@dimen/radiobutton_height"
    android:padding="0dp"
    android:layout_margin="0dp" />

values/dimens.xml

<dimen name="radiobutton_width">38dp</dimen>
<dimen name="radiobutton_height">48dp</dimen>

values-v14/dimens.xml

<dimen name="radiobutton_width">32dp</dimen>
<dimen name="radiobutton_height">42dp</dimen>

values-v17/dimens.xml

<dimen name="radiobutton_width">-2dp</dimen> <!-- WRAP_CONTENT -->
<dimen name="radiobutton_height">-2dp</dimen> <!-- WRAP_CONTENT -->
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top