霓虹的实现用到了Frame(帧布局),之前已经介绍过的,接下来看看它是怎么实现的。。。。。。。。。
java代码实现:
package cn.lyhz;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;
public class PictureActivity extends Activity {
TextView view[]=new TextView[7];
int c = 0;
int names[] = {R.id.a1,R.id.a2,R.id.a3,R.id.a4,R.id.a5,R.id.a6,R.id.a7};
int colors[] = {R.color.color1,R.color.color2,R.color.color3,R.color.color4,R.color.color5,R.color.color6,R.color.color7};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
for(int i=0;i<7;i++){
view[i]=(TextView) this.findViewById(names[i]);
}
class MyHandler extends Handler{
public void handleMessage(Message msg) {
for(int i=0;i<(7-c);i++){
Log.v("tag", ""+i);
view[i].setBackgroundResource(colors[i+c]); }
for(int i=(7-c),j=0;i<7;i++,j++){
view[i].setBackgroundResource(colors[j]); }
c++;
if(c==7){
c=0; }
blue(); }
public void blue(){
sendMessageDelayed(obtainMessage(0),100l);
}
}
new MyHandler().blue();
}}
在values目录下,new一个存放color的xml文件:
- <resources>
- <color name="color1">#330000</color>
- <color name="color2">#550000</color>
- <color name="color3">#770000</color>
- <color name="color4">#990000</color>
- <color name="color5">#bb0000</color>
- <color name="color6">#dd0000</color>
- <color name="color7">#ff0000</color>
- </resources>
在layout目录下的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/names" >
<TextView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/a1"
android:layout_gravity="center"/>
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/a2"
android:layout_gravity="center" />
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/a3"
android:layout_gravity="center" />
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/a4"
android:layout_gravity="center" />
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/a5"
android:layout_gravity="center" />
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/a6"
android:layout_gravity="center" />
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/a7"
android:layout_gravity="center" />
</FrameLayout>
效果图如下: