文章标题

来源:互联网 发布:tcp端口号范围 编辑:程序博客网 时间:2024/06/05 10:39

霓虹灯效果

这里写图片描述
仔细观察上图,发现FrameLayout布局管理器添加7个TextView,程序启动了一个线程来控制改变这7个TextView背景色,下面是该主程序的代码。

public class MainAcitivity extends Activity{

private int currentColor = 0;//定义一个颜色数组fianl int[] colors = new int[]{R.color.color1,R.color.color2,R.color.color3,R.color.color4,R.color.color5,R.color.color6,R.color.color7};//int类型id数组final int[] names = new int[]{R.id.view0,R.id.view1,R.id.view2,R.id.view3,R.id.view4,R.id.view5,R.id.view6,R.id.view7};//TextView数组TextView[] view = new TextView[names.length];Handler handler = new Handler(){    public void handlerMessage(Message msg){        //表明消息来自本程序所发送的        if(msg.what == 0x123){            for(int i=0; i<names.length;i++){                view[i].setBackgroundResource(colors[(i + currentColor) % names.length]);            }            currentColor++;        }        super.handlerMessage(msg);    }};

public void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.main);

for(int i=0; i<names.length; i++){        view[i] = (TextView)findViewById(names[i]);    }//定义一个线程周期性的改变currentColor变量值new Timer().schdule(new TimerTask(){        public void run(){            //发送一条空消息通知系统改变TextView组件的背景色            handler.sendEmptyMessage(0x123);        }    },0 , 200);}

}

定义colors文件

0 0