当前位置: 首页 > article >正文

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

 


http://www.kler.cn/a/500600.html

相关文章:

  • 《Spring Framework实战》3:概览
  • 3BB学习transformer日记,attention原理
  • Jaeger UI使用、采集应用API排除特定路径
  • 《新闻大厦抢先版》V0.18.105+Dlcs官方学习版
  • verilogHDL仿真详解
  • 3. 使用springboot做一个音乐播放器软件项目【封装项目使用的工具类】
  • golang中的eval,goeval,govaluate
  • 智能风控/数据分析 聚合 分组 连接
  • LeetCode-找出字符串中第一个匹配项的下标(028)
  • WPF控件Grid的布局和C1FlexGrid的多选应用
  • Golang笔记——channel
  • 软件系统分析与设计综合实践-家庭维修服务系统小程序(代码见附录,私发)
  • Xcode 正则表达式实现查找替换
  • JVM之垃圾回收器概述(续)的详细解析
  • 【机器学习】零售行业的智慧升级:机器学习驱动的精准营销与库存管理
  • 【Spring Boot 应用开发】-04 自动配置-数据源
  • 【优选算法篇】:深入浅出位运算--性能优化的利器
  • EFCore HasDefaultValueSql (续1 ValueGeneratedOnAdd)
  • 金融项目实战 04|JMeter实现自动化脚本接口测试及持续集成
  • PHP语言的软件工程
  • VSCode配置php开发环境
  • Microsoft Sql Server 2019 视图
  • 第六届土木建筑及灾害防控国际学术会议暨第三届智慧城市建筑与基础设施耐久性国际学术会议(CADPC DuraBI 2025)
  • 33_操作Redis分片集群
  • 用C语言实现推箱子小游戏