一般情況,APP中頁面轉(zhuǎn)場是整體統(tǒng)一的,但有時為了表達頁面之間的從屬、并列等關(guān)系,我們可能會采用不同的轉(zhuǎn)場動畫。
比如,我們專車頁面之間的轉(zhuǎn)場采用如下規(guī)則,以便更好的表達頁面之間的關(guān)系,給用戶更好的體驗。
下面以專車行程模塊為例,錄制一個簡單的gif動畫,大家可以看一下效果。
ps:簡書不能上傳視頻,只能傳gif展示動效,但我用的這款gif錄制軟件比較渣,很多地方都失真了,大家只關(guān)注轉(zhuǎn)場就好,今天我們新版本APP就發(fā)布了,大家可以去官網(wǎng)下載體驗,實際操作效果更佳哈。
神州專車-接機,送機,預(yù)約用車,企業(yè)用車,專人專車,隨叫隨到! https://www.10101111.com/
下面我們?nèi)礁愣ㄋ?br> 1.新建動畫:
anim/left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="250"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
說明:
(1)Android的animation由以下四種類型:
alpha,漸變透明度動畫效果
scale,漸變尺寸伸縮動畫效果
translate,畫面轉(zhuǎn)換移動動畫效果
rotate,畫面轉(zhuǎn)移旋轉(zhuǎn)動畫效果
這里我們使用平移動畫。
(2)屬性解釋:
duration,動畫持續(xù)時間
fromXDelta,開始時x坐標(biāo)
toXDelta,結(jié)束時x坐標(biāo)
同理準備一下其他動畫文件,并放置在res/anim目錄下。
2.新建主題:
在res/values/styles.xml里新建主題:
<style name="BaseActivityTheme" parent="android:Theme">
<item name="android:windowAnimationStyle">@style/BaseAnimation</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="BaseAnimation">
<item name="@android:activityOpenEnterAnimation">@anim/left_in</item>
<item name="@android:activityOpenExitAnimation">@anim/left_out</item>
<item name="@android:activityCloseEnterAnimation">@anim/left_in</item>
<item name="@android:activityCloseExitAnimation">@anim/left_out</item>
</style>
BaseAnimation中使用上一步新建的動畫,
說明一下這4個item:
當(dāng)我們從 A1 啟動 A2 時,A1 從屏幕上消失,這個動畫叫做 android:activityOpenExitAnimation
當(dāng)我們從 A1 啟動 A2 時,A2 出現(xiàn)在屏幕上,這個動畫叫做 android:activityOpenEnterAnimation
當(dāng)我們從 A2 退出回到 A1 時,A2 從屏幕上消失,這個叫做 android:activityCloseExitAnimation
當(dāng)我們從 A2 退出回到 A1 時,A1 出現(xiàn)在屏幕上,這個叫做 android:activityCloseEnterAnimation
在主題中使用BaseAnimation。
3.設(shè)置主題:
在AndroidManifest.xml中為相應(yīng)的Activity設(shè)置主題:
<activity
android:name=".ucar.MainUcarActivity"
android:screenOrientation="portrait"
android:theme="@style/BaseActivityTheme"
></activity>
這樣,一份熱氣騰騰的轉(zhuǎn)場動畫就出鍋了~
原創(chuàng)不易,轉(zhuǎn)載請注明出處哈。
權(quán)興權(quán)意
產(chǎn)品可以更優(yōu)雅~
項目源代碼,歡迎提建議(star)。
https://github.com/HXQWill/QuanStudy/commit/27b6da49fd22ed869b6c1c7eee87622b1df0b6d8