android霓虹灯

霓:有时在虹的外侧还能看到第二道虹,光彩比第一道虹稍淡,色序是外紫内红,与虹相反。 虹:原意也是一种自然现象,就是彩虹,也是七彩的,色序从外至内分别为:赤、橙、黄、绿、蓝、靛、紫。 霓虹灯:夜间用来吸引顾客,或装饰夜景的彩色灯,所以用“霓虹”这两种美丽的东西来作为这种灯的名字。

让我们看一下源代码:

  1. package com.smart.activiy;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.view.View;
  6. public class Main extends Activity  implements Runnable{
  7. // 5个TextView的颜色值
  8. private int[] colors = new int[]
  9. { 0xFFFF0000, 0xFF00FF00, 0xFF0000FF, 0xFFFF00FF, 0xFF00FFFF };
  10. // 每一次颜色的下一个颜色的索引,最后一个颜色的下一个颜色是第一个颜色,相当于循环链表
  11. private int[] nextColorPointers = new int[]
  12. { 1, 2, 3, 4, 0 };
  13. private View[] views; // 保存5个TextView
  14. private int currentColorPointer = 0; // 当前颜色索引(指针)
  15. private Handler handler;
  16. @Override
  17. public void run()
  18. {
  19. int nextColorPointer = currentColorPointer;
  20. for (int i = views.length - 1; i >= 0; i--)
  21. {
  22. // 设置当前TextView的背景颜色
  23. views[i]
  24. .setBackgroundColor(colors[nextColorPointers[nextColorPointer]]);
  25. // 获得下一个TextView的背景颜色值的索引(指针)
  26. nextColorPointer = nextColorPointers[nextColorPointer];
  27. }
  28. currentColorPointer++;
  29. if (currentColorPointer == 5)
  30. currentColorPointer = 0;
  31. handler.postDelayed(this, 300); // 第300毫秒循环一次
  32. }
  33. @Override
  34. public void onCreate(Bundle savedInstanceState)
  35. {
  36. super.onCreate(savedInstanceState);
  37. setContentView(R.layout.main);
  38. // 初始化views数组
  39. views = new View[]
  40. { findViewById(R.id.textview5), findViewById(R.id.textview4),
  41. findViewById(R.id.textview3), findViewById(R.id.textview2),
  42. findViewById(R.id.textview1) };
  43. handler = new Handler();
  44. handler.postDelayed(this, 300); // 第300毫秒循环一次
  45. }
  46. }

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent" android:layout_height="fill_parent">
  4. <TextView android:id="@+id/textview1" android:layout_width="300dp"
  5. android:layout_height="300dp" android:layout_gravity="center" />
  6. <TextView android:id="@+id/textview2" android:layout_width="240dp"
  7. android:layout_height="240dp" android:layout_gravity="center" />
  8. <TextView android:id="@+id/textview3" android:layout_width="180dp"
  9. android:layout_height="180dp" android:layout_gravity="center" />
  10. <TextView android:id="@+id/textview4" android:layout_width="120dp"
  11. android:layout_height="120dp" android:layout_gravity="center" />
  12. <TextView android:id="@+id/textview5" android:layout_width="60dp"
  13. android:layout_height="60dp" android:layout_gravity="center" />
  14. </FrameLayout>

本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/497372,如需转载请自行联系原作者

android霓虹灯源代码——基础编相关推荐

  1. android—label窗口——基础编

    今天写了一个关于label的显示窗口,代码量也挺简单的,大家一看就明白.不管在哪里我们做软件的都需要用到label 先让我们看一下图先. package com.smart.widget; impor ...

  2. android登录窗口——基础编

    大家一定在CS/BS的程序有登录窗口,ANDROID也应该是,下面我来做了一个界面欢迎大家参考! main 代码 package net.blogjava.mobile; import android ...

  3. Android系统源代码情景分析:基础知识

    老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...

  4. [编转]Android localsocket 的基础和使用实践: 02

    在上一节里,谈到了基础和具体是实践实现: 这一节涉及调试和具体的实践测试: 例子源码在: http://download.csdn.net/detail/goleftgoright/4183596 下 ...

  5. Android系统源代码下载

    引用:http://www.cnblogs.com/mandroid/archive/2011/06/06/2073473.html 一.概述 众所周知,Android移动操作系统是Google花费了 ...

  6. Android localsocket 的基础和使用实践: 01

    前言:介绍一种使用socket通信的方法可以使native和framework自由通信 在Android系统中,java代码和本地代码(c/c++)直接的通信一般是使用jni接口,但是这种方法一般适用 ...

  7. Android视频开发基础

    Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...

  8. 音视频开发(19)---Android视频开发基础(一)

    Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...

  9. Android视频开发基础(二)

    Android视频开发基础(二) https://blog.csdn.net/goodlixueyong/article/details/62447452 前一篇文章详细介绍了视频的一些基本概念,这些 ...

  10. 《深入理解Android 5 源代码》——第1章,第1.2节剖析Android系统架构

    本节书摘来自异步社区<深入理解Android 5 源代码>一书中的第1章,第1.2节剖析Android系统架构,作者 李骏,更多章节内容可以访问云栖社区"异步社区"公众 ...

最新文章

  1. 清北刷题10.23night
  2. 连招 横版 flash 游戏_街机游戏中的无限连究竟有多变态?有种对决叫作没开始就结束了!...
  3. arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
  4. linux部署python web项目 详细_在linux服务器下部署python工程(爬虫)
  5. TypeError: Unexpected keyword argument passed to optimizer: amsgrad原因及解决办法
  6. Linux中 vim 编辑器的使用【详细】
  7. 迅雷精简版绿色优化版
  8. 二调ARCGIS符号库
  9. FPGA纯逻辑资源解码CameraLink视频,附带工程源码并详解
  10. 【操作系统-Windows】杀毒软件工作原理 及 现在主要杀毒技术
  11. 谷粒商城开发踩坑及部分知识点大总结
  12. NER综述 | 命名实体识别的过去和现在
  13. [PHP] 算法-请找出带环链表的环的入口结点的PHP实现
  14. python list[list] or list[list, list, list]
  15. 蓝懿学习 练习总结
  16. 【半导体物理】笔记 柴常春 西安电子科技大学 更新ing...
  17. python公历转农历_有没有 python3 可用的农历转公历的包?
  18. 2013 年度回忆录
  19. 浪潮信息做pc服务器,浪潮信息:高性能AI服务器将成为智算中心生产算
  20. Fall 2020 Berkeley cs61a hw01答案

热门文章

  1. pandas读取csv文件数据并对指定字段分类使用matplotlib在一张图里画四张折线图子图
  2. C#属性默认值设置(model实体类)
  3. 学MySQL,这篇万字总结,真的够用了
  4. 计算机科学技术名家讲座许进,论高校计算机科学与技术课程中存在的问题与改革方向.pdf...
  5. No package ‘gtksourceview-4‘ found
  6. 终于完成了:为什么吾非要亲自搞CDKEY
  7. 头目一天不来,就公然上班睡觉,主管怎么当得
  8. 代码管理学:安排新员工看代码,因为主管不会管理,不负责任
  9. ffmpeg把YUV转换为H264
  10. Gradle sync failed: Unsupported method: NativeArtifact.getSourceFolders().