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

