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