2016-06-15 9 views
0

für dieses Problem oder die Fähigkeit habe ich mehrere Lösungen gefunden, aber ich weiß nicht, warum diese Lösungen nicht auf meinem Gerät funktionieren. nachdem er einige XML-Animation Einstellung diese Fähigkeit zu haben, meine Tätigkeit zu öffnen noch von rechts nach links und nicht von rechts nach links:Android offene Aktivität von rechts nach links auf Android 6. +

right_to_left.xml:

<?xml version="1.0" encoding="utf-8"?> 

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="500" 
     android:fromXDelta="100%" 
     android:fromYDelta="0%" 
     android:toXDelta="0%" 
     android:toYDelta="0%" /> 
</set> 

exit.xml:

<?xml version="1.0" encoding="utf-8"?> 

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="500" 
     android:fromXDelta="0%" 
     android:fromYDelta="0%" 
     android:toXDelta="-100%" 
     android:toYDelta="0%" /> 
</set> 
+0

Rufst du overridePendingTransition (..)? – Ozgur

+3

Mögliches Duplikat von [Wie man eine Animation von rechts nach links erreicht, um die Aktivität zu starten] (http://stackoverflow.com/questions/26431017/how-to-achieve-right-to-left-animation-to-start-the- Aktivität) – Neji

Antwort

1

Dieser Code funktioniert für mich für Sie seine Arbeit überprüfen, Verwendung bel OW-Code für offene Aktivität.

Intent intent = new Intent(this, Example.class); 
startActivity(intent); 
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); 

zwei XML-Dateien in Ihrem anim Ordner hinzufügen.

slide_in_right.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="1000" 
     android:fromXDelta="100%" 
     android:toXDelta="0%" /> 
    <alpha 
     android:duration="200" 
     android:fromAlpha="0.0" 
     android:toAlpha="1.0" /> 
</set> 

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="1000" 
     android:fromXDelta="0%" 
     android:toXDelta="-100%" /> 
    <alpha 
     android:duration="200" 
     android:fromAlpha="1.0" 
     android:toAlpha="0.0" /> 
</set> 
+0

nicht richtig funktionieren sir, und Verlangsamen übersetzen von festgelegten Dauer zu '1000' nicht arbeiten –

+0

überprüfen Sie jetzt, ich aktualisiere Antwort, das ist für mich gearbeitet –

+0

Oh mein Gott, dieses Problem ist auf Android 6: | : |, Ihr Code funktioniert gut auf android 5 –

1

Versuchen Sie dieses,

Halten Sie diese beiden xml in anim Ordner,

slide_in_left.xml

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

stay.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="0%p" /> 

und schreiben nach startactivity()

overridePendingTransition(R.anim.slide_in_left, R.anim.stay); 
+0

Arbeiten mit Android 6. +? –

+0

Ja, Sie können es versuchen :), Ich habe auf 4.4.2, 5.1.1 und 6.0 überprüft – Exigente05

Verwandte Themen