Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> andriod一個不錯的啟動菜單顯示屏動畫效果

andriod一個不錯的啟動菜單顯示屏動畫效果

編輯:Android開發實例

 效果圖:

看到一個老外做的不錯的android啟動菜單的動畫效果,小結下。 
1 首先在drawable目錄下放一些動畫要用的圖片。 2 splash.xml:  
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout 
  3.   xmlns:android="http://schemas.android.com/apk/res/android  
  4. android:layout_width="wrap_content" 
  5.   android:layout_height="wrap_content" 
  6.   android:id="@+id/TheSplashLayout" 
  7.   android:layout_gravity="center" 
  8.   >  
  9. <ImageView 
  10. android:layout_width="wrap_content" 
  11. android:layout_height="wrap_content" 
  12. android:id="@+id/SplashImageView" 
  13. android:layout_gravity="center"       
  14. >  
  15. </ImageView> 

   3 點啟動窗口動畫效果後顯示的main.xml

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     />  
  7. <TextView 
  8.     android:layout_width="fill_parent" 
  9.     android:layout_height="wrap_content" 
  10.     android:text="@string/hello" 
  11.     />  
  12. </LinearLayout>  

 

3 SplashScreen.java 這裡是歡迎啟動類的核心部分 ?

 

  1. public class SplashScreen extends Activity { 
  2.    /**  
  3.      * The thread to process splash screen events  
  4.      */ 
  5.     private Thread mSplashThread;       /** Called when the activity is first created. */ 
  6. @Override 
  7. public void onCreate(Bundle savedInstanceState) {  
  8.     super.onCreate(savedInstanceState);    // Splash screen view  
  9.     setContentView(R.layout.splash);  
  10.        
  11.         // Start animating the image  
  12.     final ImageView splashImageView = (ImageView) findViewById(R.id.SplashImageView);  
  13.     splashImageView.setBackgroundResource(R.drawable.flag);  
  14.     final AnimationDrawable frameAnimation = (AnimationDrawable)splashImageView.getBackground();  
  15.     splashImageView.post(new Runnable(){ public void run() {  
  16. frameAnimation.start();         
  17. }             
  18.     });  
  19.            
  20.        
  21.     final SplashScreen sPlashScreen = this;    
  22.        
  23.     // The thread to wait for splash screen events  
  24.     mSplashThread =  new Thread(){  
  25.     @Override 
  26.     public void run(){  
  27.     try {  
  28.     synchronized(this){  
  29.     // Wait given period of time or exit on touch  
  30.     wait(5000);  
  31.     }  
  32.     }  
  33.     catch(InterruptedException ex){     
  34.     }finish();  
  35.        
  36.     // Run next activity  
  37.     Intent intent = new Intent();  
  38.     intent.setClass(sPlashScreen, MainActivity.class);  
  39.     startActivity(intent);  
  40.     stop();      
  41.     }  
  42.     };  
  43.        
  44.     mSplashThread.start();  
  45.        
  46. }@Override 
  47. public boolean onCreateOptionsMenu(Menu menu){  
  48. super.onCreateOptionsMenu(menu);  
  49. return false;  
  50. }  
  51.      
  52.     /**  
  53.      * Processes splash screen touch events  
  54.      */ 
  55.     @Override 
  56.     public boolean onTouchEvent(MotionEvent evt)  
  57.     {  
  58.     if(evt.getAction() == MotionEvent.ACTION_DOWN)  
  59.     {  
  60.     synchronized(mSplashThread){  
  61.     mSplashThread.notifyAll();  
  62.     }  
  63.     }  
  64.     return true;  
  65.     }  

 4 為了更好看,在values 目錄下添加樣式文件styles.xml: 

 

  1. <resources>  
  2. <style name="Animations" parent="@android:Animation" />  
  3. <style name="Animations.SplashScreen">  
  4.         <item name="android:windowEnterAnimation">@anim/appear</item>  
  5.         <item name="android:windowExitAnimation">@anim/disappear</item>  
  6.     </style>  
  7. <style name="Theme.Transparent" parent="android:Theme">  
  8. <item name="android:windowIsTranslucent">true</item>  
  9. <item name="android:windowBackground">@android:color/transparent</item>  
  10. <item name="android:windowContentOverlay">@null</item>  
  11. <item name="android:windowNoTitle">true</item>  
  12. <item name="android:windowIsFloating">true</item>  
  13. <item name="android:backgroundDimEnabled">false</item>  
  14. <item name="android:windowAnimationStyle">@style/Animations.SplashScreen</item>         
  15. </style>         
  16. </resources>  
 

 注意下這裡:

?

 

  1. <style name="Animations" parent="@android:Animation" />  
  2. <style name="Animations.SplashScreen">  
  3.         <item name="android:windowEnterAnimation">@anim/appear</item>  
  4.         <item name="android:windowExitAnimation">@anim/disappear</item>  
  5.     </style> 

  源碼下載

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved