在RadioButton使用中,可能需要放入图片,但是XML中无法直接设置图片的大小。
<RadioButton android:gravity="center" android:id="@+id/rb_first" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/selector_ic_first" android:text="首页"/> <RadioButton android:gravity="center" android:id="@+id/rb_search" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/selector_ic_search" android:text="查询"/> <RadioButton android:gravity="center" android:id="@+id/rb_me" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/selector_ic_people" android:text="我的"/>效果图:可以发现图片太大了
如何设置图片大小:
Java代码实现:
初始化使用ButteerKnife插件
@BindView(R.id.rb_first) RadioButton rbFirst; @BindView(R.id.rb_search) RadioButton rbSearch; @BindView(R.id.rb_me) RadioButton rbMe;
private void changeImageSize() { //定义底部标签图片大小 Drawable drawableFirst = getResources().getDrawable(R.drawable.selector_ic_first); drawableFirst.setBounds(0, 0, 69, 69);//第一0是距左右边距离,第二0是距上下边距离,第三69长度,第四宽度 rbFirst.setCompoundDrawables(null, drawableFirst, null, null);//只放上面 Drawable drawableSearch = getResources().getDrawable(R.drawable.selector_ic_search); drawableSearch.setBounds(0, 0, 69, 69);//第一0是距左右边距离,第二0是距上下边距离,第三69长度,第四宽度 rbSearch.setCompoundDrawables(null, drawableSearch, null, null);//只放上面 Drawable drawableMe = getResources().getDrawable(R.drawable.selector_ic_people); drawableMe.setBounds(0, 0, 69, 69);//第一0是距左右边距离,第二0是距上下边距离,第三69长度,第四宽度 rbMe.setCompoundDrawables(null, drawableMe, null, null);//只放上面 }效果图:设置大小后,图片变小了