Android 中带有文本的 RadioButton 边框
Border to RadioButton with text in Android
在我的应用程序中,我想用文本为我的单选按钮添加边框。
<RadioButton
android:id="@+id/radioAndroid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@drawable/inout_radio_button"
android:checked="true"
android:gravity="center"
android:padding="5dp"
android:layoutDirection="rtl"
android:layout_marginRight="@dimen/margin_20dp"
android:layout_marginLeft="@dimen/margin_20dp"
android:text="1"
android:textColor="@color/color_radio_text" />
<RadioButton
android:id="@+id/radioiPhone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@drawable/inout_radio_button"
android:gravity="center"
android:padding="5dp"
android:layoutDirection="rtl"
android:layout_marginRight="@dimen/margin_20dp"
android:layout_marginLeft="@dimen/margin_20dp"
android:text="2"
android:textColor="@color/color_radio_text" />
我把图标放如下:
inout_radio_button.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radioact" ></item>
<item android:state_checked="false" android:drawable="@drawable/radio" />
</selector>
但是,我找不到在单选按钮周围设置边框的方法。
在您的 RadioButton
周围使用布局并设置带有自定义边框的 backgroundDrawable
创建border.xml
并将其放入drawable
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dip"
android:color="@android:color/black" />
<corners android:radius="10dp"/>
</shape>
然后在您的 Layout
中使用它
<RelativeLayout
android:background="@drawable/border">
// your radiogroup
</RelativeLayout>
直接将背景参数应用到RadioButton
(不需要用外部布局包围它):
android:background="@drawable/background"
背景看起来像:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<stroke
android:width="1px"
android:color="@android:color/black"/>
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
还将填充应用于每个复选标记图像:
无效:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radio"
android:left="6dp"
android:right="6dp"/>
</layer-list>
活跃:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radioact"
android:left="6dp"
android:right="6dp"/>
</layer-list>
和选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/active" android:state_checked="true"/>
<item android:drawable="@drawable/inactive" android:state_checked="false"/>
</selector>
在我的应用程序中,我想用文本为我的单选按钮添加边框。
<RadioButton
android:id="@+id/radioAndroid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@drawable/inout_radio_button"
android:checked="true"
android:gravity="center"
android:padding="5dp"
android:layoutDirection="rtl"
android:layout_marginRight="@dimen/margin_20dp"
android:layout_marginLeft="@dimen/margin_20dp"
android:text="1"
android:textColor="@color/color_radio_text" />
<RadioButton
android:id="@+id/radioiPhone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@drawable/inout_radio_button"
android:gravity="center"
android:padding="5dp"
android:layoutDirection="rtl"
android:layout_marginRight="@dimen/margin_20dp"
android:layout_marginLeft="@dimen/margin_20dp"
android:text="2"
android:textColor="@color/color_radio_text" />
我把图标放如下:
inout_radio_button.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radioact" ></item>
<item android:state_checked="false" android:drawable="@drawable/radio" />
</selector>
但是,我找不到在单选按钮周围设置边框的方法。
在您的 RadioButton
周围使用布局并设置带有自定义边框的 backgroundDrawable
创建border.xml
并将其放入drawable
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dip"
android:color="@android:color/black" />
<corners android:radius="10dp"/>
</shape>
然后在您的 Layout
<RelativeLayout
android:background="@drawable/border">
// your radiogroup
</RelativeLayout>
直接将背景参数应用到RadioButton
(不需要用外部布局包围它):
android:background="@drawable/background"
背景看起来像:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<stroke
android:width="1px"
android:color="@android:color/black"/>
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
还将填充应用于每个复选标记图像:
无效:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radio"
android:left="6dp"
android:right="6dp"/>
</layer-list>
活跃:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radioact"
android:left="6dp"
android:right="6dp"/>
</layer-list>
和选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/active" android:state_checked="true"/>
<item android:drawable="@drawable/inactive" android:state_checked="false"/>
</selector>