2016-05-10 161 views
0

我不知道這裏出了什麼問題。試圖在兩個活動之間製作垂直動畫。活動1應從可見狀態滑到底部。活動2應該從頂部滑到底部(變得可見)。android活動垂直過渡動畫

這就是我想要 enter image description here

我的代碼

overridePendingTransition(R.anim.top_to_visible, R.anim.visible_to_bottom); 

top_to_visible.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_interpolator" 
android:fromYDelta="100%p" android:toYDelta="0%p" 
android:duration="300"/> 

visible_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_interpolator" 
android:fromYDelta="0%p" android:toYDelta="-100%p" 
android:duration="300"/> 

這裏有什麼問題?

+3

你說你想要什麼,但你沒有說你得到什麼:) – WarrenFaith

+0

什麼,我得到的是一個活動向上移動+活動2拉昇(我想要的對面,扭轉數不解決它) – Bialy

回答

3

難道你以爲y軸原點的底部?因爲當我剛剛修改from/to值時,我得到了你想要的。 y的0%位於頂部。 0/0點在左上角。因此,根據你所需要的「向下」移動從0到100%,「從上可見」爲-100%至0%

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromYDelta="-100%p" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toYDelta="0%p" /> 
</set> 

和visible_to_bottom

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromYDelta="0%p" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toYDelta="100%p" /> 
</set> 
+0

太棒了!是的,我正在理解XY協調完全錯誤:(謝謝 – Bialy

0

嘗試此visible_to_bottom.xml動畫..

機器人:fromYDelta = 「0%P」 機器人:toYDelta = 「100%P」

除去負號 「-100%P」 - >「100%p」

+0

不工作...... – Bialy

0

您將需要使用anim。首先,創建兩個XML文件並把它們在res/anim

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="@android:integer/config_longAnimTime" 
    android:fromYDelta="-100%p" 
    android:toYDelta="0" /> 

visible_to_bottom.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="@android:integer/config_longAnimTime" 
    android:fromYDelta="0%p" 
    android:toYDelta="100%p" /> 
+0

不工作.......... – Bialy