TextView,Button等控件可以在其四周设置图片,我们一般就会在xml文件中使用drawableTop,drawableLeft,drawableRight,drawableBottom直接对它们进行设置。
但有时我们会想要在代码中动态的控制他们的显示。使用下面的方法:
setCompoundDrawables(left, top, right, bottom);
setCompoundDrawablesWith
意思是设置Drawable显示在text的左、上、右、下位置。
但是两者有些区别:
setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,所以才有The Drawables must already have had setBounds(Rect) called.意思是说使用之前必须使用Drawable.setBounds设置Drawable的长宽。
而setCompoundDrawablesWith
eg:
online_themeDownButton.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.market_downloading_cancel), null, null, null);