在Jellybean API Level 16上消除Samsung Galaxy S3上额外的右侧填充android单选按钮

时间:2014-04-23 17:12:02

标签: android layout radio-button padding

我在Jellybean API Level 16上的Samsung Galaxy S3上运行时,在单选按钮上看到了额外的右边填充。(见截图)。知道如何消除这种额外的权利填充吗?

可能与此问题有关:Android CheckBox extra padding on TouchWiz

布局XML如下所示:

<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>

感谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

这似乎是API 16及更低版本的问题。 API 17不包括这个额外空间。

此问题似乎并不特定于三星(我能够在模拟器中重现该问题)。

这是我的解决方法,不确定它是否是最好的,但它解决了我的问题:

<强> 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" />

<强>值/ dimens.xml

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

<强>值-V14 / dimens.xml

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

<强>值-V17 / dimens.xml

<dimen name="radiobutton_width">-2dp</dimen> <!-- WRAP_CONTENT -->
<dimen name="radiobutton_height">-2dp</dimen> <!-- WRAP_CONTENT -->