:
1、首先是main.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" > <TextView android:id="@+id/view0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="#ff0000" android:height="200dp" android:width="200dp" /><TextView android:id="@+id/view1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="#ff00ff" android:height="180dp" android:width="180dp" /><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:width="160dp" android:height="160dp" android:background="#bb0000" android:id="@+id/view2"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="140dp" android:height="140dp" android:layout_gravity="center" android:background="#990000" android:id="@+id/view3"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="120dp" android:height="120dp" android:layout_gravity="center" android:background="#770000" android:id="@+id/view4"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="100dp" android:height="100dp" android:layout_gravity="center" android:background="#550000" android:id="@+id/view5"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="80dp" android:height="80dp" android:layout_gravity="center" android:background="#330000" android:id="@+id/view6"/></FrameLayout>
強調:android:layout_gravity="center" textview中的內容置中
2、建立一個colors.xml檔案
<?xml version="1.0" encoding="utf-8"?><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>
3、原始碼LayoutChen.java
package cn.csdn.activity;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class LayoutChenActivity extends Activity { final int[] colors=new int[]{ R.color.color7, R.color.color6, R.color.color5, R.color.color4, R.color.color3, R.color.color2, R.color.color1, }; final int[] names=new int[]{ R.id.view0, R.id.view1, R.id.view2, R.id.view3, R.id.view4, R.id.view5, R.id.view6, }; TextView view[]=new TextView[7]; class MyHandler extends Handler{ int i=0; public void handleMessage(Message msg){ i++; if(i>=6){ i=1; } for(int m=7-i,n=0;m<7;m++,n++){ view[m].setBackgroundResource(colors[n]); } for(int m=0;m<7-i;m++){ view[m].setBackgroundResource(colors[m+i]); } sleep(100); } public void sleep(int j){ sendMessageDelayed(obtainMessage(0),j); } } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); for(int i=0;i<7;i++){ view[i]=(TextView) findViewById(names[i]); } final MyHandler myHandler=new MyHandler(); myHandler.sleep(100); }
使用了Android 提供的訊息通訊類 Handler 。該類可以實現非主線程和負責 UI 的主線程之間的通訊 ,進而間接實現非主線程更新 UI 介面。由於 sleep 方法中的
sendMessageDelayed(obtainMessage(0), delayMillis); 本身會延遲發送一個訊息 , 該訊息會被架構傳遞給 handleMessage 事件 。 我們在 handleMessage() 方法中再次調用 sleep() 方法 ,形成一個迴圈調用 。 在我們對介面進行點擊之前 , 兩個方法會一直迴圈調用 。 前景圖片也會不斷的切換,進而實現霓虹燈的效果。