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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章