七彩霓虹灯效果,基于网上的小Demo进行修改。

  在android项目values文件夹下创建文件colors.xml,配置七种颜色:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="blue">#0000ff</color>
<color name="red">#ff0000</color>
<color name="yellow">#ffff00</color>
<color name="green">#8cd400</color>
<color name="pink">#A020F0</color>
<color name="orange">#ffa500</color>
<color name="indigo">#4b0082</color>
</resources>

  MainActivity中代码:

	// 当前颜色
private int currentCount = 0;
// 颜色ID数组
private int[] colorList = new int[] { R.color.red, R.color.orange,
R.color.yellow, R.color.green, R.color.blue, R.color.indigo,
R.color.pink };
//textview数组
private TextView[] viewList = new TextView[colorList.length];

  Handler类 (消息处理器) 帮助主线程进行UI更新

Handler mHandler = new Handler() {

  @Override
  public void handleMessage(Message msg) {
    super.handleMessage(msg);
    if (msg.what == 1) {
      //更新textview颜色
      for (int i = 0; i < viewList.length; i++) {
        viewList[i].setBackgroundResource(colorList[(i + currentCount)% viewList.length]);
      }
      currentCount++;
    }
  }
};

  onCreate()方法中:

//实例化textview
for (int i = 0; i < colorList.length; i++) {
  viewList[i] = new TextView(this);
  //设置控件大小位置
  RelativeLayout.LayoutParams viewparams = new RelativeLayout.LayoutParams(700 - 100 * i, 700 - 100 * i);
  viewparams.addRule(RelativeLayout.CENTER_IN_PARENT);
  viewList[i].setLayoutParams(viewparams);
  //设置起始颜色
  viewList[i].setBackgroundResource(colorList[i]);
  layout.addView(viewList[i]);
}

 计时器的使用:

    //计时器 每200毫秒发送一次消息给主线程更新ui
new Timer().schedule(new TimerTask() {
  @Override
    public void run() {
      mHandler.sendEmptyMessage(1);
    }
  , 0, 200);

  运行demo即可展现七彩霓虹灯。

 

android小Demo--七彩霓虹灯效果的更多相关文章

  1. Android项目页面跳转小Demo

    近期在做Android项目的开发,刚刚接触会有非常多新东西须要学习,从环境的搭建到语言的熟悉都是须要一步步完毕的,接下来就拿一个页面跳转的样例来和大家分享一下自己的心得体会. 採用的架构: Demo中 ...

  2. 一周一个小demo — 前端后台的交互实例

    这一周呢,本K在大神的指导下,完成了一个利用ajax与php文件上传处理相结合的一个留言板功能的小实例,下面就让本K来带大家瞅瞅如何实现这一种功能. 一.界面概览 首先我们来看一下这个小demo的具体 ...

  3. Android -- 自定义View小Demo,动态画圆(一)

    1,转载:(http://blog.csdn.NET/lmj623565791/article/details/24500107),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...

  4. Android学习小Demo一个显示行线的自定义EditText

    今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行 ...

  5. Android学习小Demo(19)利用Loader来实时接收短信

    之前写过一篇文章<Android学习小Demo(13)Android中关于ContentObserver的使用>,在里面利用ContentOberver去监測短信URI内容的变化.我们先来 ...

  6. 模仿京东顶部搜索条效果制作的一个小demo

    最近模仿京东顶部搜索条效果制作的一个小demo,特贴到这里,今后如果有用到可以参考一下,代码如下 #define kScreenWidth [UIScreen mainScreen].bounds.s ...

  7. 【Android】使用FrameLayout布局实现霓虹灯效果

    FrameLayout是五大布局中最简单的一个布局. 在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置. 它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的 ...

  8. Android -BLE蓝牙小DEMO

    代码地址如下:http://www.demodashi.com/demo/13890.html 原文地址: https://blog.csdn.net/vnanyesheshou/article/de ...

  9. 基于Android的rgb七彩环颜色采集器

    代码地址如下:http://www.demodashi.com/demo/11892.html 一.前言. 在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色, ...

随机推荐

  1. 数学--数论--HDU 5382 GCD?LCM?(详细推导,不懂打我)

    Describtion First we define: (1) lcm(a,b), the least common multiple of two integers a and b, is the ...

  2. 2019 ICPC 南京网络赛 H-Holy Grail

    As the current heir of a wizarding family with a long history,unfortunately, you find yourself force ...

  3. linux多线程同步的四种方式

    1. 在并发情况下,指令执行的先后顺序由内核决定.同一个线程内部,指令按照先后顺序执行,但不同线程之间的指令很难说清楚是哪一个先执行.如果运行的结果依赖于多线程执行的顺序,那么就会形成竞争条件,每次运 ...

  4. RF(读写 excel)

    1.安装 ExcelLibrary 库:pip install robotframework-ExcelLibrary 但是 Python3.0 通过上面的命令安装 ExcelLibrary 时,会发 ...

  5. MySQL 8.0.20 源码安装数据库软件

    官方支持的平台: https://www.mysql.com/support/supportedplatforms/database.html

  6. DVWA-对Command Injection(命令注入)的简单演示与分析

    前言 上一篇文章中,对命令注入进行了简单的分析,有兴趣的可以去看一看,文章地址 https://www.cnblogs.com/lxfweb/p/12828754.html,今天这篇文章以DVWA的C ...

  7. N - 寿司晚宴 HYSBZ - 4197 状压dp

    N - 寿司晚宴 HYSBZ - 4197 推荐题解 这个题目我觉得还是很难的,借助题解写出来的,题解还看了很久,现在还是不是很理解. 首先这个数比较大有500,如果直接就像这个题目S - Query ...

  8. git工作中最常用的用法教程,不走命令行

    ·1.1 git的概述 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.  Git 是 Linus Torvalds 为了帮助管理 Lin ...

  9. xsser和XSStrike

    0x01 xsser xsser是一款用于针对Web应用程序自动化挖掘.利用.报告xss漏洞的框架.kali默认安装. 命令行启动:xsser 图形化界面启动:xsser --gtk 帮助信息:xss ...

  10. 【前端背景UI】鼠标磁性动态蜘蛛网背景源码

    <div style="float:right;" id="hub_iframe"></div> <script type=&qu ...