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