【发布时间】:2017-05-22 16:19:09
【问题描述】:
我有一个 AppCompatEditText 属性 backgroundTint 设置为特定颜色。 我创建了一种以编程方式更改背景色调的方法,并且它适用于自 API 17 (4.2 Jelly Bean) 到 API 25 (7.1.1 Nougat) 的所有 Android 版本,API 21 (5.0 Lollipop) 除外.
我不知道我做错了什么。这是我的代码:
public void changeViewBackgroundColor(Context context, View view, int color) {
int theColor = ContextCompat.getColor(context, color);
if (view instanceof TintableBackgroundView) {
ColorStateList colorStateList = ColorStateList.valueOf(theColor);
ViewCompat.setBackgroundTintList(view, colorStateList);
} else {
view.setBackgroundColor(theColor);
}
view.invalidate();
}
【问题讨论】:
标签: java android android-5.0-lollipop