很多应用主界面都是activity+fragement的方式,在底部或者顶部有几个按钮进行切换,布局可以写成RadioGroup包含RadioButton,在使用drawableTop时我们无法在布局中设置图片大小,导致界面的不美观,因此需要重新设置RadioButton的图片大小。
废话不多说,直接上代码了!!!
mRbHome= (RadioButton) findViewById(R.id.rb_rehome);
mRbInform = (RadioButton) findViewById(R.id.rb_information );
mRbAlarm = (RadioButton) findViewById(R.id.rb_alarm);
mRbMy = (RadioButton) findViewById(R.id.rb_my);
RadioButton[] rbs = new RadioButton[4];
rbs[0] =mRbHome;
rbs[1] = mRbInform ;
rbs[2] = mRbAlarm;
rbs[3] = mRbMy;
for (RadioButton rb : rbs) {
//给每个RadioButton加入drawable限制边距控制显示大小
Drawable[] drawables = rb.getCompoundDrawables();
//获取drawables
Rect rt = new Rect(0, 0, drawables[1].getMinimumWidth()*2/3, drawables[1].getMinimumHeight()*2/3);
//定义一个Rect边界
drawables[1].setBounds(rt);
//添加限制给控件
rb.setCompoundDrawables(null,drawables[1],null,null);
}