啟動某項程序時我們往往都能看到不同的“開機動畫”,千變萬化的動畫也只不過是四種基本動畫衍變美化而成的。
四種android動畫效果:
最簡單的莫過于漸變透明效果,單單這一種就可完成漸隱漸現的動畫效果(用于漸現漸隱的可以是整個歡迎頁面也可以是歡迎頁面里的一部分):
1)、 在res里新建anim文件夾用來盛放動畫定義的動作文件:
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="2000"/> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:startOffset="3000" android:duration="3000"/> </set>
fromalpha即開始的透明度,toalpha即結束時的透明度,duration為時間(單位毫秒)。
2)、定義布局文件(layout):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical|center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/welcom_logo" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/welcome" /> </LinearLayout>
這里和以往沒有任何不同,只需對要漸現漸隱的圖片進行id標示。
3)、實現方法(Activity):
public class WelcomeActivity extends Activity implements AnimationListener { private ImageView imageView = null; private Animation alphaAnimation = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); imageView = (ImageView) findViewById(R.id.welcom_logo); alphaAnimation = AnimationUtils.loadAnimation(this, R.anim.welcome_alpha); alphaAnimation.setFillEnabled(true);//啟動Fill保持 alphaAnimation.setFillAfter(true);//設置動畫的最后一幀是保留在view上的 imageView.setAnimation(alphaAnimation); alphaAnimation.setAnimationListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_welcome, menu); return true; } @Override public void onAnimationEnd(Animation animation) { //動畫結束時結束歡迎頁面并跳轉到主頁面 Intent intent=new Intent(this,GroupActivity.class); startActivity(intent); this.finish(); } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationStart(Animation animation) { } public boolean onKeyDown(int KeyCode,KeyEvent event){ //在歡迎頁面屏蔽BACK鍵 if(KeyCode==KeyEvent.KEYCODE_BACK){ return false; } return false; }}
歡迎頁面顧名思義只是裝飾作用一閃而過不需要返回鍵進行操作。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答