如何根据api级别动态设置RadioButton左边距

时间:2015-09-15 03:03:18

标签: android android-radiobutton

将布局作为ALertDialog的内容,如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center"
>

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="30dp"
    android:paddingBottom="30dp"
    android:paddingLeft="35dp"
    android:paddingRight="35dp">

    <RadioButton
        android:id="@+id/bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/radiobutton_selector"
        android:text="button one" />

    <RadioButton
        android:id="@+id/bt2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/radiobutton_selector"
        android:text="button two" />
</RadioGroup>

<LinearLayout> ... </LinerLayout>
</LinearLayout>

在api 16级下,RadioButton在对话框左侧有更多空间。试过以下似乎不起作用:

group.setPadding(10, 10, 10, 10); 

有不同的方法吗?如何动态设置不同api级别的填充?

1 个答案:

答案 0 :(得分:0)

这可以通过设置Typeableandroid:button="@null"来实现。

android:drawableLeft ="name"
  • 和drawable之间的填充用 <RadioGroup android:id="@+id/radios" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:inputType="text" android:orientation="vertical" > <RadioButton android:id="@+id/first" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:drawablePadding="20dp" android:layout_width="200dip" android:layout_height="wrap_content" android:text="@string/first" android:textSize="20dip" /> <RadioButton android:id="@+id/second" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:drawablePadding="20dp" android:layout_width="200dip" android:layout_height="wrap_content" android:text="@string/second" android:textSize="20dip" /> </RadioGroup>
  • 设置

在API&lt; = 16上,您可以在单选按钮上设置填充,以设置相对于单选按钮视图边界的填充。此外,补丁九背景也会改变相对于视图的视图边界。

在API 17上,左边的填充与可绘制的单选按钮相关。同样适用于九个补丁。

此答案基于来自question

的@James Baca回答