改变倒计时器的颜色

时间:2017-07-18 19:04:27

标签: java android timer

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

            }

3 个答案:

答案 0 :(得分:0)

尝试使用像这样的

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

检查this

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

            }