[置顶] Android设置drawableTop图片大小
2016-08-26 13:45
459 查看
在开发中我们经常用到TextView、Button、RadioButton这三个控件,很多时候我们需要文字和图片一起出现,很多应用的底部的导航栏用RadioGroup来实现切换的功能,例如QQ等等,这时候我们要用RadioButton的drawableTop、drawableLeft、drawableRight、drawableBottom四个属性值,来设定文字对应方向的图片,但是却没有设置图片大小的属性值。
要想设置这些图片的大小其实很简单,我们要了解一下下面几个方法:
getCompoundDrawables() 该方法返回包含控件左,上,右,下四个位置的Drawable的数组
setBounds(left,top,right,bottom)指定drawable的边界
setCompoundDrawables(drawableLeft, drawableTop, drawableRight, drawableBottom)设置控件左,上,右,下四个位置的Drawable
Button、RadioButton其实都是TextView的子类,这三个方法都是TextView里的方法
所以流程就是,我们首先拿到控件上面位置的drawable,然后给指定drawable的边界,最后再把drawable设置进去
这个例子是一个RadioGroup里有五个RadioButton,分别有drawableTop图片
要想设置这些图片的大小其实很简单,我们要了解一下下面几个方法:
getCompoundDrawables() 该方法返回包含控件左,上,右,下四个位置的Drawable的数组
setBounds(left,top,right,bottom)指定drawable的边界
setCompoundDrawables(drawableLeft, drawableTop, drawableRight, drawableBottom)设置控件左,上,右,下四个位置的Drawable
Button、RadioButton其实都是TextView的子类,这三个方法都是TextView里的方法
所以流程就是,我们首先拿到控件上面位置的drawable,然后给指定drawable的边界,最后再把drawable设置进去
这个例子是一个RadioGroup里有五个RadioButton,分别有drawableTop图片
/** * 设置底部按钮 */ public void initButton(){ for (int i = 0; i < radioIds.length; i++) {//循环 drawables = radioBtns[i].getCompoundDrawables();//通过RadioButton的getCompoundDrawables()方法,拿到图片的drawables,分别是左上右下的图片 switch (i) {//为每一个drawableTop设置属性setBounds(left,top,right,bottom) case 0: drawables[1].setBounds(0, 0, getResources().getDimensionPixelSize(R.dimen.x18), getResources().getDimensionPixelSize(R.dimen.x24)); break; case 1: drawables[1].setBounds(0, 0, getResources().getDimensionPixelSize(R.dimen.x25), getResources().getDimensionPixelSize(R.dimen.x25)); break; case 2: drawables[1].setBounds(0, 0, getResources().getDimensionPixelSize(R.dimen.x40), getResources().getDimensionPixelSize(R.dimen.x25)); break; case 3: drawables[1].setBounds(0, 0, getResources().getDimensionPixelSize(R.dimen.x25), getResources().getDimensionPixelSize(R.dimen.x25)); break; case 4: drawables[1].setBounds(0, 0, getResources().getDimensionPixelSize(R.dimen.x25), getResources().getDimensionPixelSize(R.dimen.x25)); break; default: break; } radioBtns[i].setCompoundDrawables(drawables[0], drawables[1], drawables[2], drawables[3]);//将改变了属性的drawable再重新设置回去 } radioBtns[0].setChecked(true); }
相关文章推荐
- Android drawableleft drawableTop 设置图片的大小
- android设置drawableTop导入的图片大小
- Android drawableleft drawableTop 设置图片的大小
- drawableTop怎样动态设置图片大小
- android图片缩放(指定大小) drawable获取图片后怎么设置图片大小
- radiobutton设置drawableTop图片的大小
- Android 自定义view-如何设置TextView drawableLeft 图片大小?
- 设置DrawableTop的图片的大小
- 设置drawableTop、drawableLeft、drawableRight、drawableBottom图片大小
- android radiobutton 改变drawabletop图片的大小
- 怎么设置类似于drawableTop的图片大小
- 给控件设置drawabletop以后怎么控制图片大小
- Android自定义RadioButton以控制drawableTop等方向的图片大小
- 动态设置drawableTop中图片大小
- android 自定义TextView,设置DrawableLeft图片的大小
- 给一个控件上面设置图片(drawableTop),并可以设置图片的大小
- Android 自定义view-如何设置TextView drawableLeft 图片大小?
- Android下设置drawableleft导入的图片大小
- Android 修改drawableTop 图片的大小
- 【Android】TextView动态设置android:drawableLeft|Right|Top|Bottom,SetColor