将布局作为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级别的填充?
答案 0 :(得分:0)
这可以通过设置Typeable
和android:button="@null"
来实现。
android:drawableLeft ="name"
<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回答