主要内容:假设有一个R.id.magnitude TextView视图,使用GradientDrawable类可以为其设置自定义背景颜色
一、导入 GradientDrawable 类
import android.graphics.drawable.GradientDrawable;
二、代码示例
//创建TextView对象
TextView magnitudeView = (TextVew) findViewById(R.id.magnitude);
// 从 TextView 获取背景,该背景是一个 GradientDrawable。
GradientDrawable magnitudeCircle = (GradientDrawable) magnitudeView.getBackground();
// 根据自定义逻辑获取相应的背景颜色,getMagnitudeColor()返回颜色的整数值
int magnitudeColor = getMagnitudeColor(R.color.magnitude1);
// 设置视图背景的颜色
magnitudeCircle.setColor(magnitudeColor);
//将颜色 资源 ID 转换为颜色整数值
public int getMagnitudeColor(int mColorId){
int magnitude1Color = ContextCompat.getColor(getContext(), mColorId);
return magnitude1Color;
}