在xml中实现的效果,在代码中都可实现,但有时候对api不太了解的话就会出现很多问题,
如果让你在xml文件中给radiobutton控件添加drawable,你肯定觉得很简单
<RadioGroup android:id="@+id/rg" android:orientation="horizontal" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:background="@drawable/rb_selector" android:text="按钮" android:button="@null" android:padding="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/rb_selector" android:button="@null" android:drawableRight="@drawable/hot" android:padding="10dp" android:text="按钮" /> </RadioGroup>
通过设置相应的drawableXXX属性即可
但通过代码实现的话就要注意了
- rgGroup = (RadioGroup)findViewById(R.id.re_group);
- rbWeiHui = (RadioButton)findViewById(R.id.rb_wei_hui);
- rbAdd = (RadioButton)findViewById(R.id.rb_add);
- rbMine = (RadioButton)findViewById(R.id.rb_mine);
- //定义底部标签图片大小
- Drawable drawableWeiHui =getResources().getDrawable(R.drawable.btn_tab_wei_hui_selector);
- drawableWeiHui.setBounds(0, 0, 69, 69);//第一0是距左右边距离,第二0是距上下边距离,第三69长度,第四宽度
- rbWeiHui.setCompoundDrawables(null,drawableWeiHui, null, null);//只放上面
- Drawable drawableAdd =getResources().getDrawable(R.drawable.btn_tab_add_selector);
- drawableAdd.setBounds(0, 0, 168, 120);
- rbAdd.setCompoundDrawables(drawableAdd,null, null, null);
- Drawable drawableRight = getResources().getDrawable(R.drawable.btn_tab_mine_selector);
- drawableRight.setBounds(0, 0, 69, 69);
- rbMine.setCompoundDrawables(null,drawableRight, null, null);
- //初始化底部标签
- rgGroup.check(R.id.rb_wei_hui);// 默认勾选首页,初始化时候让首页默认勾选