android霓虹灯源代码——基础编
霓:有时在虹的外侧还能看到第二道虹,光彩比第一道虹稍淡,色序是外紫内红,与虹相反。 虹:原意也是一种自然现象,就是彩虹,也是七彩的,色序从外至内分别为:赤、橙、黄、绿、蓝、靛、紫。 霓虹灯:夜间用来吸引顾客,或装饰夜景的彩色灯,所以用“霓虹”这两种美丽的东西来作为这种灯的名字。
让我们看一下源代码:
- package com.smart.activiy;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.View;
- public class Main extends Activity implements Runnable{
- // 5个TextView的颜色值
- private int[] colors = new int[]
- { 0xFFFF0000, 0xFF00FF00, 0xFF0000FF, 0xFFFF00FF, 0xFF00FFFF };
- // 每一次颜色的下一个颜色的索引,最后一个颜色的下一个颜色是第一个颜色,相当于循环链表
- private int[] nextColorPointers = new int[]
- { 1, 2, 3, 4, 0 };
- private View[] views; // 保存5个TextView
- private int currentColorPointer = 0; // 当前颜色索引(指针)
- private Handler handler;
- @Override
- public void run()
- {
- int nextColorPointer = currentColorPointer;
- for (int i = views.length - 1; i >= 0; i--)
- {
- // 设置当前TextView的背景颜色
- views[i]
- .setBackgroundColor(colors[nextColorPointers[nextColorPointer]]);
- // 获得下一个TextView的背景颜色值的索引(指针)
- nextColorPointer = nextColorPointers[nextColorPointer];
- }
- currentColorPointer++;
- if (currentColorPointer == 5)
- currentColorPointer = 0;
- handler.postDelayed(this, 300); // 第300毫秒循环一次
- }
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 初始化views数组
- views = new View[]
- { findViewById(R.id.textview5), findViewById(R.id.textview4),
- findViewById(R.id.textview3), findViewById(R.id.textview2),
- findViewById(R.id.textview1) };
- handler = new Handler();
- handler.postDelayed(this, 300); // 第300毫秒循环一次
- }
- }
main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent" android:layout_height="fill_parent">
- <TextView android:id="@+id/textview1" android:layout_width="300dp"
- android:layout_height="300dp" android:layout_gravity="center" />
- <TextView android:id="@+id/textview2" android:layout_width="240dp"
- android:layout_height="240dp" android:layout_gravity="center" />
- <TextView android:id="@+id/textview3" android:layout_width="180dp"
- android:layout_height="180dp" android:layout_gravity="center" />
- <TextView android:id="@+id/textview4" android:layout_width="120dp"
- android:layout_height="120dp" android:layout_gravity="center" />
- <TextView android:id="@+id/textview5" android:layout_width="60dp"
- android:layout_height="60dp" android:layout_gravity="center" />
- </FrameLayout>
本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/497372,如需转载请自行联系原作者
android霓虹灯源代码——基础编相关推荐
- android—label窗口——基础编
今天写了一个关于label的显示窗口,代码量也挺简单的,大家一看就明白.不管在哪里我们做软件的都需要用到label 先让我们看一下图先. package com.smart.widget; impor ...
- android登录窗口——基础编
大家一定在CS/BS的程序有登录窗口,ANDROID也应该是,下面我来做了一个界面欢迎大家参考! main 代码 package net.blogjava.mobile; import android ...
- Android系统源代码情景分析:基础知识
老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...
- [编转]Android localsocket 的基础和使用实践: 02
在上一节里,谈到了基础和具体是实践实现: 这一节涉及调试和具体的实践测试: 例子源码在: http://download.csdn.net/detail/goleftgoright/4183596 下 ...
- Android系统源代码下载
引用:http://www.cnblogs.com/mandroid/archive/2011/06/06/2073473.html 一.概述 众所周知,Android移动操作系统是Google花费了 ...
- Android localsocket 的基础和使用实践: 01
前言:介绍一种使用socket通信的方法可以使native和framework自由通信 在Android系统中,java代码和本地代码(c/c++)直接的通信一般是使用jni接口,但是这种方法一般适用 ...
- Android视频开发基础
Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...
- 音视频开发(19)---Android视频开发基础(一)
Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...
- Android视频开发基础(二)
Android视频开发基础(二) https://blog.csdn.net/goodlixueyong/article/details/62447452 前一篇文章详细介绍了视频的一些基本概念,这些 ...
- 《深入理解Android 5 源代码》——第1章,第1.2节剖析Android系统架构
本节书摘来自异步社区<深入理解Android 5 源代码>一书中的第1章,第1.2节剖析Android系统架构,作者 李骏,更多章节内容可以访问云栖社区"异步社区"公众 ...
最新文章
- 清北刷题10.23night
- 连招 横版 flash 游戏_街机游戏中的无限连究竟有多变态?有种对决叫作没开始就结束了!...
- arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
- linux部署python web项目 详细_在linux服务器下部署python工程(爬虫)
- TypeError: Unexpected keyword argument passed to optimizer: amsgrad原因及解决办法
- Linux中 vim 编辑器的使用【详细】
- 迅雷精简版绿色优化版
- 二调ARCGIS符号库
- FPGA纯逻辑资源解码CameraLink视频,附带工程源码并详解
- 【操作系统-Windows】杀毒软件工作原理 及 现在主要杀毒技术
- 谷粒商城开发踩坑及部分知识点大总结
- NER综述 | 命名实体识别的过去和现在
- [PHP] 算法-请找出带环链表的环的入口结点的PHP实现
- python list[list] or list[list, list, list]
- 蓝懿学习 练习总结
- 【半导体物理】笔记 柴常春 西安电子科技大学 更新ing...
- python公历转农历_有没有 python3 可用的农历转公历的包?
- 2013 年度回忆录
- 浪潮信息做pc服务器,浪潮信息:高性能AI服务器将成为智算中心生产算
- Fall 2020 Berkeley cs61a hw01答案
热门文章
- pandas读取csv文件数据并对指定字段分类使用matplotlib在一张图里画四张折线图子图
- C#属性默认值设置(model实体类)
- 学MySQL,这篇万字总结,真的够用了
- 计算机科学技术名家讲座许进,论高校计算机科学与技术课程中存在的问题与改革方向.pdf...
- No package ‘gtksourceview-4‘ found
- 终于完成了:为什么吾非要亲自搞CDKEY
- 头目一天不来,就公然上班睡觉,主管怎么当得
- 代码管理学:安排新员工看代码,因为主管不会管理,不负责任
- ffmpeg把YUV转换为H264
- Gradle sync failed: Unsupported method: NativeArtifact.getSourceFolders().