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);
本文详细解释了如何在代码中动态控制TextView、Button等控件四周的图片显示,包括两种方法的区别和使用场景,以及如何解决在代码中设置Drawable时可能出现的问题。
4432

被折叠的 条评论
为什么被折叠?



