2012年8月30日 星期四

Android APP 秀出開場圖檔後自動轉載到別的Activity




        在開發Android APP的同時,尤其是彰顯企業形象的用途,如果在APP開啟後,先顯示企業形象的美工圖檔後,再自動啟動APP軟體,這樣的效果肯定是為APP企業行銷上是有加分作用的。




        那麼首先我的作法是,先製作好美工圖檔的Layout版面,例如 main.xml,利用 ImageView 配置美工圖檔,如下圖所示:
Layout xml 碼如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent"
  5.     android:orientation="vertical" android:layout_gravity="center_vertical">
  6.     <RelativeLayout android:id="@+id/relativeLayout1" android:layout_gravity="center" android:gravity="center" android:layout_height="fill_parent" android:layout_width="fill_parent">
  7.         <TableLayout android:id="@+id/tableLayout1" android:layout_height="fill_parent" android:layout_width="fill_parent">
  8.             <ImageView android:id="@+id/imageView1" android:src="@drawable/logo" android:layout_width="fill_parent" android:layout_height="fill_parent"></ImageView>
  9.         </TableLayout>
  10.     </RelativeLayout>
  11. </LinearLayout>

接下來就是要在Java裡面控制這個Activity出現幾秒後,自動轉載到另一個目標Activity,並且強制結束目前的Activity別讓它再度出現...

main.java 碼如下:

  1. public class main extends Activity {
  2.     /** Called when the activity is first created. */
  3.     @Override
  4.     public void onCreate(Bundle savedInstanceState) {
  5.         super.onCreate(savedInstanceState);
  6.         setContentView(R.layout.main);
  7.         new Handler().postDelayed(new Runnable(){   
  8.             public void run() {  
  9.                 Intent i = new Intent(main.this, index.class); //設定目標要啟動的Activity
  10.                 main.this.startActivity(i);
  11.                 main.this.finish(); //結束目前的 Activity,讓它別再出現
  12.             }  
  13.         }, 1000);  //設定秒數,ex:目前設定一秒
  14.     }
  15. }