Android開(kāi)啟動(dòng)畫(huà)之漸隱漸現(xiàn)效果
啟動(dòng)某項(xiàng)程序時(shí)我們往往都能看到不同的“開(kāi)機(jī)動(dòng)畫(huà)”,千變?nèi)f化的動(dòng)畫(huà)也只不過(guò)是四種基本動(dòng)畫(huà)衍變美化而成的。
四種android動(dòng)畫(huà)效果:
- alpha 漸變透明度動(dòng)畫(huà)效果
- scale 漸變尺寸伸縮動(dòng)畫(huà)效果
- translate 畫(huà)面轉(zhuǎn)換位置移動(dòng)動(dòng)畫(huà)效果
- rotate 畫(huà)面轉(zhuǎn)移旋轉(zhuǎn)動(dòng)畫(huà)效果
最簡(jiǎn)單的莫過(guò)于漸變透明效果,單單這一種就可完成漸隱漸現(xiàn)的動(dòng)畫(huà)效果(用于漸現(xiàn)漸隱的可以是整個(gè)歡迎頁(yè)面也可以是歡迎頁(yè)面里的一部分):
1)、 在res里新建anim文件夾用來(lái)盛放動(dòng)畫(huà)定義的動(dòng)作文件:
<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即開(kāi)始的透明度,toalpha即結(jié)束時(shí)的透明度,duration為時(shí)間(單位毫秒)。
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>
這里和以往沒(méi)有任何不同,只需對(duì)要漸現(xiàn)漸隱的圖片進(jìn)行id標(biāo)示。
3)、實(shí)現(xiàn)方法(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);//啟動(dòng)Fill保持 alphaAnimation.setFillAfter(true);//設(shè)置動(dòng)畫(huà)的最后一幀是保留在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) { //動(dòng)畫(huà)結(jié)束時(shí)結(jié)束歡迎頁(yè)面并跳轉(zhuǎn)到主頁(yè)面 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){ //在歡迎頁(yè)面屏蔽BACK鍵 if(KeyCode==KeyEvent.KEYCODE_BACK){ return false; } return false; } }
歡迎頁(yè)面顧名思義只是裝飾作用一閃而過(guò)不需要返回鍵進(jìn)行操作。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android UI 實(shí)現(xiàn)老虎機(jī)詳解及實(shí)例代碼
這篇文章主要介紹了Android UI 實(shí)現(xiàn)老虎機(jī)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03Android自定義實(shí)現(xiàn)BaseAdapter的普通實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android自定義實(shí)現(xiàn)BaseAdapter的普通實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-08-08Android應(yīng)用中clearFocus方法調(diào)用無(wú)效的問(wèn)題解決
clearFocus()主要用于清除EditText的焦點(diǎn),Android App開(kāi)發(fā)中很多時(shí)候會(huì)發(fā)現(xiàn)其調(diào)用無(wú)效,帶著這個(gè)問(wèn)題我們就來(lái)看一下本文主題、Android應(yīng)用中clearFocus方法調(diào)用無(wú)效的問(wèn)題解決2016-05-05Android Caused by: java.lang.ClassNotFoundException解決辦法
這篇文章主要介紹了Android Caused by: java.lang.ClassNotFoundException解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼
這篇文章介紹了Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10使用Android studio創(chuàng)建的AIDL編譯時(shí)找不到自定義類(lèi)的解決辦法
這篇文章主要介紹了使用Android studio創(chuàng)建的AIDL編譯時(shí)找不到自定義類(lèi)的解決辦法的相關(guān)資料,需要的朋友可以參考下2016-02-02Android內(nèi)存泄漏排查利器LeakCanary
這篇文章主要為大家詳細(xì)介紹了Android內(nèi)存泄漏排查利器LeakCanary的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03