Android使用系统消息与定时器实现霓虹灯效果
演示效果:
界面设计:
在帧布局FrameLayout中添加6个TextView
依次设置这6个TextView的宽,高,权重
也可在XML中直接设置
添加自定义颜色
关联自定义颜色到数组变量
关联6个TextView控件到数组变量
处理自定义系统消息
Handler _sysHandler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
//切换颜色消息
if (msg.what == 0xFFAADD){
for (int i = 0; i < frameNames.length; i++) {
textViews[i].setBackgroundResource(
frameColors[(i + curColor)%frameNames.length]);
}
curColor++;//下一个颜色
}
super.handleMessage(msg);
}
};
发送自定义消息
//每200毫秒发一次
new Timer().schedule(new TimerTask() {
@Override
public void run() {
_sysHandler.sendEmptyMessage(0xFFAADD);
}
},0,200);
源码地址:
https://github.com/tonyimax/FrameLayoutDemo.git