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