天天看点

android 动态修改backgroud solid颜色

做项目时,需求是这样的:

用户头像是名字的第一个字,并且是圆形的,颜色呢 在4个颜色中,从1-4的显示。

为此,在我们为tetxview添加background的时候,改变了shape 也就成了圆形。

但是接下来,改颜色,就很尴尬了,所以,百度了一番。

有了如下结果。

import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.view.View;

/**
 * Created by Administrator on 2018/1/4.
 */

public class FourColorUtils {

    public static void setBackgroundColor(View view, int position) {
        GradientDrawable background = (GradientDrawable) view.getBackground();
        if (position % 4 == 0) {
            background.setColor(Color.parseColor("#16bcda"));
        }
        if (position % 4 == 1) {
            background.setColor(Color.parseColor("#da167b"));
        }
        if (position % 4 == 2) {
            background.setColor(Color.parseColor("#8516da"));
        }
        if (position % 4 == 3) {
            background.setColor(Color.parseColor("#167bda"));
        }
    }
}