Android功能记录(一) ------ 定时器实现颜色渐变

Android小白搜了一堆资料实现的,主要代码如下:

 Handler handler = new Handler();
    Runnable runnable=new Runnable(){
        @Override
        public void run() {
            // TODO Auto-generated method stub
            if(isSendColor)
            {
                red -=1;
                green +=1;
                if(green >= 254)
                {
                    red = 255;
                    green = 0;
                }
                else {
                    color = toHexEncoding(red,green,blue);
                    Log.d("sendMsg:",   "发送颜色"+color);
                }
                delayTime = 20;
            }
            else
            {
                Log.d("sendMsg:",   "显示颜色");
                delayTime = 10;
            }
            isSendColor = !isSendColor;
            //要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
            handler.postDelayed(this, delayTime);
        }
    };
    public static String toHexEncoding(int R,int G,int B) {
        String r,g,b;
        StringBuffer sb = new StringBuffer();
        r = Integer.toHexString(R);
        g = Integer.toHexString(G);
        b = Integer.toHexString(B);
        r = r.length() == 1 ? "0" + r : r;
        g = g.length() == 1 ? "0" + g : g;
        b = b.length() == 1 ? "0" + b : b;
        sb.append(g.toUpperCase());
        sb.append(r.toUpperCase());
        sb.append(b.toUpperCase());
        return sb.toString();
    }

调用:

handler.postDelayed(this, delayTime);

猜你喜欢

转载自blog.csdn.net/dengshunhao/article/details/80732315