2016-05-10 11 views
0

Ich weiß nicht, was hier falsch ist. Versuche eine vertikale Animation zwischen zwei Aktivitäten zu machen. Aktivität 1 sollte von sichtbar nach unten verschoben werden. Aktivität 2 sollte von oben nach unten verschoben werden (sichtbar werden).Android Aktivitäten vertikale Übergang Animation

Das ist, was ich will enter image description here

meinen Code

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"/> 

was ist hier falsch?

+3

Du hast gesagt, was Sie wollen, aber du hast nicht sagen, was Sie bekommen :) – WarrenFaith

+0

, was ich bekommen, ist eine Aktivität bewegt sich nach oben + Activity 2 bewegen sich nach oben (ich das Gegenteil wollen, und die Zahlen Umkehr nicht lösen es) – Bialy

Antwort

3

Ist es möglich, dass Sie die y-Achse dachte Ursprung am Boden liegt? Denn wenn ich nur die Werte von/nach ändere, bekomme ich, was Sie wollen. Die 0% von y sind an der Spitze. Der Punkt 0/0 befindet sich oben links. So basiert darauf, dass Sie die „nach unten“ müssen von 0 bis 100% bewegen und die „von oben nach sichtbar“ zu sein -100% bis 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> 

und 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

Großartig! und ja, ich verstand die XY Koordination völlig falsch :(DANKE – Bialy

0

Try this für visible_to_bottom.xml Animation ..

android: fromYDelta = "0% p" android: toYDelta = "100% p"

das negative Vorzeichen "-100% p" entfernen - > "100% p"

+0

Nicht funktioniert ...... – Bialy

0

Sie müssen anim verwenden. Die ersten zwei XML-Dateien erstellen und sie in 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

Nicht funktioniert .......... – Bialy