android飞翔的小鸟……

来源:互联网 发布:常见的软件架构 编辑:程序博客网 时间:2024/05/08 09:46

 MainActivity.java部分:

Code:
  1. package com.flybird.cn;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.os.Handler;  
  6. import android.os.Message;  
  7. import android.view.View;  
  8. import android.widget.FrameLayout;  
  9.   
  10. public class MainActivity extends Activity {  
  11.     private MyHandler handler;  
  12.     private FrameLayout frame;  
  13.     private boolean flag = true;  
  14.   
  15.     /** Called when the activity is first created. */  
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.   
  21.         frame = (FrameLayout) findViewById(R.id.myFrame);  
  22.           
  23.         handler = new MyHandler();  
  24.         handler.sleep(50);  
  25.           
  26.         frame.setOnClickListener(new View.OnClickListener() {  
  27.               
  28.             @Override  
  29.             public void onClick(View v) {  
  30.                 // TODO Auto-generated method stub  
  31.                 flag = !flag;  
  32.                 handler.sleep(50);  
  33.             }  
  34.         });  
  35.     }  
  36.   
  37.     class MyHandler extends Handler {  
  38.         int i = 0;  
  39.   
  40.         @Override  
  41.         public void handleMessage(Message msg) {  
  42.             // TODO Auto-generated method stub  
  43.             i++;  
  44.             show(i % 3);  
  45.             sleep(50);  
  46.         }  
  47.   
  48.         public void show(int i) {  
  49.             switch (i) {  
  50.             case 0:  
  51.                 frame.setForeground(getResources().getDrawable(R.drawable.a));  
  52.                 break;  
  53.             case 1:  
  54.                 frame.setForeground(getResources().getDrawable(R.drawable.b));  
  55.                 break;  
  56.             case 2:  
  57.                 frame.setForeground(getResources().getDrawable(R.drawable.c));  
  58.                 break;  
  59.             }  
  60.         }  
  61.   
  62.         public void sleep(int delayMills) {  
  63.             if (flag) {  
  64.                 this.sendMessageDelayed(obtainMessage(0), delayMills);  
  65.             }  
  66.         }  
  67.     }  
  68. }  

main.xml

Code:
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+id/myFrame"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     android:layout_gravity="center"  
  7.     >  
  8. </FrameLayout>  

图片资源:

最终效果图: