android霓虹灯源代码——基础编

 

android霓虹灯

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

让我们看一下源代码:

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

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> 
  15.   

 



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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值