Android---计时器切换字体颜色

本文介绍了一种使用Android中的Timer和Handler实现文本颜色交替闪烁的方法。通过点击按钮启动计时器,使文本颜色在红色和黄色间每秒切换一次,共闪烁三次后停止,再次点击则重新开始。

实现效果:点击 Button 启动定时器每隔1秒切换一次字体颜色(红色和黄色),共闪烁3次。再次点击 Button闪烁重新开始,再次闪烁3次,如此反复。

实现方法:(Timer,TimerTask,Handler)

Timer timer;

/启动计时器

private void startTimer() {

//每次重新启动定时器是先停掉原来的计时器,重新计时

stopTimer();

if (timer == null) {

index = 0;

timer = new Timer();

timer.schedule( new TimerTask() {

@Override

public void run() {

Message message = new Message();

message.arg1 = 0;

handler_.sendMessage( message );

}

}, 1000, 1000 );

}

}


//停止计时器 (cancel方法过后,timer要设置为null,不然无法执行schedule)

private void stopTimer() {

if (timer != null) {

timer.cancel();

timer = null;

}

}

android.os.Handler handler_ = new android.os.Handler() {

@Override

public void handleMessage(Message msg) {

if (msg.arg1 == 0) {

changeTextViewColor();


//闪烁3次之后,计时器停掉


if (index == 6) {

index = 0;

StopTimer();

}

}

}

};


//通过对2求余得到的数来切换闪烁的颜色

int index = 0;

public void changeTextViewColor() {

if (index % 2 == 0) {

calltextview.setTextColor( Color.rgb( 253, 243, 6 ) );//黄色

} else {

calltextview.setTextColor( Color.rgb( 255, 3, 16 ) );//红色

}

index = index + 1;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值