Java Android在TextView中设置背景色动画
有人知道为什么这个代码不起作用,以及如何修复它吗?我正在尝试为Java Android在TextView中设置背景色动画,java,android,animation,Java,Android,Animation,有人知道为什么这个代码不起作用,以及如何修复它吗?我正在尝试为TextView的背景色设置动画。IDE不显示错误 private void animationButton(final TextView textView) { int firstColor = Color.parseColor("FFFFFFFF"); int secondColor = Color.parseColor("FF00FF00"); ValueAnimator animation = ne
TextView
的背景色设置动画。IDE不显示错误
private void animationButton(final TextView textView) {
int firstColor = Color.parseColor("FFFFFFFF");
int secondColor = Color.parseColor("FF00FF00");
ValueAnimator animation = new ValueAnimator();
animation.setIntValues(firstColor, secondColor);
animation.setEvaluator(new ArgbEvaluator());
animation.setDuration(300);
animation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
textView.setBackgroundColor((int) animation.getAnimatedValue());
}
});
animation.start();
}
IDE不显示错误
然后我假设您在try catch
块中包围animationButton
,并且不记录任何内容,因为需要
来解析十六进制颜色代码。您应该会收到一个带有您发布的代码的IllegalArgumentException
来自文档
解析颜色字符串,并返回相应的color-int
无法分析字符串,引发IllegalArgumentException异常。
支持的格式包括:
#RRGGBB
#AARRGGBB
否则,需要传入以下值之一:
红色、蓝色、绿色、黑色、白色、灰色、青色、洋红、黄色、,
浅灰色、深灰色、灰色、浅灰色、深灰色、浅绿色、紫红色、莱姆色、,
栗色、海军蓝色、橄榄色、紫色、银色和青色
来源
@ColorInt
public static int parseColor(@Size(min=1) String colorString) {
if (colorString.charAt(0) == '#') {
// Use a long to avoid rollovers on #ffXXXXXX
long color = Long.parseLong(colorString.substring(1), 16);
if (colorString.length() == 7) {
// Set the alpha value
color |= 0x00000000ff000000;
} else if (colorString.length() != 9) {
throw new IllegalArgumentException("Unknown color");
}
return (int)color;
} else {
Integer color = sColorNameMap.get(colorString.toLowerCase(Locale.ROOT));
if (color != null) {
return color;
}
}
throw new IllegalArgumentException("Unknown color");
}