我想在特定时间内更改倒计时器的颜色。例如,50秒后,颜色变为黄色。你能帮帮我吗?在这里,您可以查看我的代码。直到50秒确定。颜色为绿色。然而,在第50秒后,应用程序崩溃。
final CountDownTimer countDownTimer = new CountDownTimer(60000, 1000)
{
public void onTick(long millisUntilFinished) {
x = millisUntilFinished/1000;
timer.setText( x + " remaining left ");
if ( 50< x ){
timer.setTextColor(Color.parseColor("#32e76b"));
}
else{
timer.setTextColor(Color.parseColor("FFE9DD33"));
}
答案 0 :(得分:0)
答案 1 :(得分:0)
您对颜色的表示是AARRGGBB,但应该是#AARRGGBB,您错过了颜色中的#,因此会抛出IllegalArgumentException异常。
所以这样改变,
timer.setTextColor(Color.parseColor("#FFE9DD33"));
答案 2 :(得分:-1)
尝试在值文件夹中创建一个colors.xml文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="green">#32e76b</color>
<color name="yellow">yor_yellow_color_code</color>
<color name="red">yor_red_color_code</color>
</resources>
并设置如下:
final CountDownTimer countDownTimer = new CountDownTimer(60000, 1000)
{
public void onTick(long millisUntilFinished) {
x = millisUntilFinished/1000;
timer.setText( x + " remaining left ");
if ( 50< x ){
timer.setTextColor(ContextCompat.getColor(your_context,R.color.green)}
else{
timer.setTextColor(ContextCompat.getColor(your_context,R.color.yellow);
}