2017-07-18 178 views
-1

我想在特定时间更改倒计时器的颜色。例如,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

'应用crashes'显示崩溃日志 –

回答

-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); 

      } 
+0

很抱歉,但我不能看到任何区别 –

+0

@aliihsanGokalp我与我的新的方式回答更新,检查是否帮你 –

0

使用这样

ContextCompat.getColor(context, R.color.your_color); 

尝试检查this

0

您的颜色表示是AARRGGBB,但应该是#AARRGGBB,您错过了以您的颜色显示,因此它会抛出IllegalArgumentException异常。

所以改变这样的,

timer.setTextColor(Color.parseColor("#FFE9DD33")); 
+0

啊,谢谢你,我的朋友 。这是我的错误:( –