【原创】如何在Android中为TextView动态设置drawableLeft等

时间:2022-06-19 19:50:39

如何在Android中为TextView动态设置drawableLeft等

 
两种方式:
 
方式1:手动设置固有边界
 Drawable drawable = getResources().getDrawable(resId);
//注意查看方法TextView.setCompoundDrawables(Drawable, Drawable, Drawable, Drawable)
//的注释,要求设置的drawable必须已经通过Drawable.setBounds方法设置过边界参数
//所以,此种方式下该行必不可少
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
setCompoundDrawables(drawable, null, null, null);
方式2:自动设置固有边界
 setCompoundDrawablesWithIntrinsicBounds(resId, 0, 0, 0);
//setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(resId), null, null, null);