RadioButton都不陌生,一般我们都会设置图片在里面,这就涉及一个问题,图片的大小。如果图片过大,效果很不理想。搜了很多方法,都不理想。无奈只能自己研究了
代码如下:
1,一个简单的 RadioButton
<RadioButton
android:id="@+id/rb_home"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:checked="true"
android:drawablePadding="5dp"
android:gravity="center"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="首页"
android:textColor="@xml/radio_button_selector"
android:textSize="16sp" />
2,radio_button_selector是点击时文字更改颜色的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:color="@color/selector_rg"></item>
<item android:state_checked="false" android:color="@color/black"></item>
</selector>
color:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="selector_rg">#D81B60</color>
<color name="colorFirst">#550012</color>
</resources>
3,代码里设置图片的大小:
Drawable drawable1=getResources().getDrawable(R.drawable.radiobutton_backgroundone);
drawable1.setBounds(0,0,69,69);
home.setCompoundDrawables(null,drawable1,null,null);
4,radiobutton_backgroundone:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/banner1" android:state_checked="false" />
<item android:drawable="@drawable/banner4" android:state_checked="true" />
</selector>
可以看到我选用的图片还是很大的。
最后看看实际效果
很简单吧!!!