在xml中设置
android:drawableLeft="@drawable/xxxxx"
java 代码中设置
java api 为我们提供了一个 setCompoundDrawables(left,top,right,bottom); 方法,供开发人员设置相应的边界图片。
操作方法十分简单,但是要注意版本兼容问题(Android 低版本 获取 Drawable 对象发的方式不同)看如下代码所示:
// 使用代码设置 drawableleft
Drawable drawable = null;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
drawable = context.getResources().getDrawable(
R.drawable.ic_dialog_email);
} else {
drawable = ContextCompat.getDrawable(context, R.drawable.ic_dialog_email);
}
// 这一步必须要做,否则不会显示。
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
mbtn.setCompoundDrawables(null, null, drawable, null);
参考 https://blog.csdn.net/wangzhongshun/article/details/99595386