<a target="_blank" href="http://blog.51cto.com/attachment/201102/150528162.jpg"></a>
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毫秒循環一次
}
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();
}
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,如需轉載請自行聯系原作者