Android 在代码中设置 drawableLeft(Right/Top/Bottom)

在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

发布了342 篇原创文章 · 获赞 174 · 访问量 98万+

猜你喜欢

转载自blog.csdn.net/jdfkldjlkjdl/article/details/105288720
今日推荐