博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
霓虹灯的效果
阅读量:5128 次
发布时间:2019-06-13

本文共 2306 字,大约阅读时间需要 7 分钟。

1.在帧布局FrameLayout依次添加TextView组件

2.启动一个线程来控制周期性地改变Textview的背景色

public class FrameLayoutTest extends Activity{    private int currentColor = 0;    //定义一个颜色数组    final int[] colors = new int[]    {        R.color.color7,        R.color.color6,        R.color.color5,        R.color.color4,            R.color.color3,        R.color.color2,        R.color.color1,        };    final int[] names = new int[]    {        R.id.View01,        R.id.View02,        R.id.View03,        R.id.View04,        R.id.View05,        R.id.View06,        R.id.View07    };    TextView[] views = new TextView[7];    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);            for (int i = 0 ; i < 7 ; i++)        {            views[i] = (TextView)findViewById(names[i]);        }        final Handler handler = new Handler()        {            @Override            public void handleMessage(Message msg)            {                //表明消息来自本程序所发送                if(msg.what == 0x1122)                {                    //依次改变7个TextView的背景色                    for(int i = 0 ; i < 7 - currentColor ; i++)                        {                        views[i].setBackgroundResource(colors[i + currentColor]);                    }                    for(int i = 7 - currentColor , j = 0 ; i < 7 ; i++ ,j++)                    {                        views[i].setBackgroundResource(colors[j]);                    }                }                super.handleMessage(msg);            }        };        //定义一个线程周期性的改变currentColor变量值,每0.1秒执行一次任务        new Timer().schedule(new TimerTask()        {            @Override            public void run()            {                currentColor++;                if(currentColor >= 6)                {                    currentColor = 0;                }                //发送一条消息通知系统改变7个TextView组件的背景色                Message m = new Message();                //给该消息定义一个标识                m.what = 0x1122;                handler.sendMessage(m);                }                }, 0 , 100);     }}

后期思考:

1.对线程的了解

2.msg.what == 0x1122

转载于:https://www.cnblogs.com/crazyzx/articles/5322948.html

你可能感兴趣的文章
第一篇博客
查看>>
typeof与instanceof的区别
查看>>
网站搭建(一)
查看>>
SDWebImage源码解读之SDWebImageDownloaderOperation
查看>>
elastaticsearch
查看>>
postgreSQL 简单命令操作
查看>>
Spring JDBCTemplate
查看>>
Radon变换——MATLAB
查看>>
第五章笔记
查看>>
Iroha and a Grid AtCoder - 1974(思维水题)
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>