Activity取消界面切換的默認(rèn)動(dòng)畫方法(推薦)
一般啟動(dòng)一個(gè)新的Activity都默認(rèn)有切換的動(dòng)畫效果,比如界面從右至左的移動(dòng)。
但是有些時(shí)候我們不需要這個(gè)動(dòng)畫,怎么辦?
操作方法比較麻煩,這里我推薦其中一種。我這里是要做啟動(dòng)頁splash到首頁Home無縫展示,即啟動(dòng)頁的圖片背景和首頁最上層的懸浮背景圖是一模一樣,用戶會(huì)以為還在啟動(dòng)頁,我這里會(huì)做些動(dòng)畫,然后進(jìn)行開門效果。(首頁會(huì)多出2個(gè)按鈕,此時(shí)就不是啟動(dòng)頁了)
主要實(shí)現(xiàn)思路:
1、需要設(shè)置無動(dòng)畫效果的主題,應(yīng)用到對(duì)應(yīng)的界面。
2、在啟動(dòng)頁面界面結(jié)束時(shí),需要增加一個(gè)方法 overridePendingTransition(0, 0);
在SplashActivity.this.finish();之前。
3、gif中啟動(dòng)頁面和首頁都是同一個(gè)圖片(首頁布局上面懸浮了啟動(dòng)頁的圖片,利用window的decorview)
4、在style.xml里,需要加入下面主題,其中parent=”AppTheme”中的父主題是你應(yīng)用自身的主題,name=”Theme”的theme是即將需要使用的。接下來在首頁的Android:theme=”@style/Theme”設(shè)置到你的首頁(即你啟動(dòng)頁跳轉(zhuǎn)的下一級(jí)頁面)。
<!-- 取消界面轉(zhuǎn)場動(dòng)畫使用--> <style name="Theme" parent="AppTheme"> <item name="android:windowAnimationStyle">@style/Animation</item> </style> <style name="Animation"> <item name="android:activityOpenEnterAnimation">@null</item> <item name="android:activityOpenExitAnimation">@null</item> <item name="android:activityCloseEnterAnimation">@null</item> <item name="android:activityCloseExitAnimation">@null</item> <item name="android:taskOpenEnterAnimation">@null</item> <item name="android:taskOpenExitAnimation">@null</item> <item name="android:taskCloseEnterAnimation">@null</item> <item name="android:taskCloseExitAnimation">@null</item> <item name="android:taskToFrontEnterAnimation">@null</item> <item name="android:taskToFrontExitAnimation">@null</item> <item name="android:taskToBackEnterAnimation">@null</item> <item name="android:taskToBackExitAnimation">@null</item> </style>
5、如果需要實(shí)現(xiàn)gif中效果,防止啟動(dòng)頁的圖片可能延伸到狀態(tài)欄,我這邊加了占位布局(高度為動(dòng)態(tài)獲取的系統(tǒng)狀態(tài)欄高度,代碼是在啟動(dòng)頁獲取高度)。
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); int statusBarHeight = getStatusBarHeight(); PreferencesUtil.putInt(this, PreferenceKey.SETTING, PreferenceKey.STATUS_BAR_HEIGHT, statusBarHeight); LogUtil.e(statusBarHeight + ""); } public int getStatusBarHeight() { int result = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = getResources().getDimensionPixelSize(resourceId); } return result; }
以上就是小編為大家?guī)淼腁ctivity取消界面切換的默認(rèn)動(dòng)畫方法(推薦)全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Android 自定義組件成JAR包的實(shí)現(xiàn)方法
這篇文章主要介紹了Android 自定義組件成JAR包的實(shí)現(xiàn)方法的相關(guān)資料,偶爾會(huì)用到這樣的功能,如果你自己自定義的組件很好,需要的朋友可以參考下2016-11-11Android編程設(shè)計(jì)模式之工廠方法模式實(shí)例詳解
這篇文章主要介紹了Android編程設(shè)計(jì)模式之工廠方法模式,結(jié)合實(shí)例形式詳細(xì)分析了Android工廠方法模式的概念、原理、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12Android制作微信app頂部menu菜單(ActionBar)
這篇文章主要為大家詳細(xì)介紹了Android利用ActionBar制作微信app頂部menu菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Flutter StatefulBuilder實(shí)現(xiàn)局部刷新實(shí)例詳解
這篇文章主要為大家介紹了Flutter StatefulBuilder實(shí)現(xiàn)局部刷新實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Android編程開發(fā)ScrollView中ViewPager無法正?;瑒?dòng)問題解決方法
這篇文章主要介紹了Android編程開發(fā)ScrollView中ViewPager無法正?;瑒?dòng)問題解決方法,以實(shí)例形式分析了ScrollView中滑動(dòng)失效的原因及解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android 個(gè)人理財(cái)工具五:顯示賬單明細(xì) 上
本文主要介紹 Android 個(gè)人理財(cái)工具顯示賬單明細(xì),這里提供了示例代碼,和實(shí)現(xiàn)效果圖,幫助大家學(xué)習(xí)理解ListView的用法,有興趣的小伙伴可以參考下2016-08-08用原生VideoView進(jìn)行全屏播放時(shí)的問題
本篇文章主要介紹了用原生VideoView進(jìn)行全屏播放時(shí)的問題,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01