效果如下:
主要用到handle 和 framelayout佈局
xml文件:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v1" android:layout_gravity="center" android:width="320px" android:height="320px" android:background="#f00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v2" android:layout_gravity="center" android:width="280px" android:height="280px" android:background="#f00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v3" android:layout_gravity="center" android:width="240px" android:height="240px" android:background="#f00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v4" android:layout_gravity="center" android:width="200px" android:height="200px" android:background="#f00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v5" android:layout_gravity="center" android:width="160px" android:height="160px" android:background="#f00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/v6" android:layout_gravity="center" android:width="120px" android:height="120px" android:background="#f00" /> </FrameLayout>
mainactivity:
public class MainActivity extends AppCompatActivity { private int currentColor=0; final int [] colors=new int[]{ R.color.aliceblue, R.color.red, R.color.goldenrod, R.color.palegreen, R.color.darkgreen, R.color.khaki }; final int [] names=new int[] { R.id.v1, R.id.v2, R.id.v3, R.id.v4, R.id.v5, R.id.v6 }; TextView[] views=new TextView[names.length]; Handler handle=new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == 0x123){ for(int i=0;i<names.length;i++){ views[i].setBackgroundResource(colors[(i+currentColor) % names.length]); } currentColor++; } super.handleMessage(msg); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.framelayout); for(int i=0;i<names.length;i++){ views[i]= (TextView) findViewById(names[i]); } new Timer().schedule(new TimerTask() { @Override public void run() { handle.sendEmptyMessage(0x123); } },0,200);}}
用到handler和msg機制 是一個學習handler機制的例子