Benutzerdefinierte Animationen zum Starten von Aktivitäten in Android funktionieren nicht wie erwartet

Ich bin ein bisschen neu für Android. Ich muss Animationen in meiner App anpassen, wenn die Aktivitäten geöffnet sind.

Ich habe folgenden Code in meiner Anwendung styles.xml

 <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> <item name="android:windowEnterAnimation">@anim/fade_in</item> <item name="android:windowExitAnimation">@anim/fade_out</item> </style> 

Dann hat der Stil auf ein Thema, in der gleichen Datei angewendet.

 <style name="YourTheme" parent="android:Theme.Translucent"> <item name="android:windowAnimationStyle">@style/CustomAnimationActivity</item> </style> 

Dann fügte das Thema in meinem AndroidManifest.xml

 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/YourTheme" > </application> 

Aber wenn ich das laufe, tritt ein Fehler auf.

Fehler

Ich denke, ich muss Animation hinzufügen ml Dateien irgendwo in meinem Projekt. Aber keine Ahnung, wie man das macht. Jemand bitte helfen mir mit diesem.

Danke im Voraus. 🙂

-bearbeiten-

Hier ist die fade_in.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true"> <alpha android:duration="1000" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="1.0"/> </set> 

Hier ist die fade_out.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true"> <alpha android:duration="1000" android:fromAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="0.0"/> </set> 

Absturzprotokoll

 05-20 15:36:47.216 3557-3557/com.myayubo E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.myayubo, PID: 3557 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myayubo/com.myayubo.PreSplash}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5299) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:122) at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59) at com.myayubo.PreSplash.onCreate(PreSplash.java:23) at android.app.Activity.performCreate(Activity.java:5264) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)            at android.app.ActivityThread.access$800(ActivityThread.java:151)            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)            at android.os.Handler.dispatchMessage(Handler.java:110)            at android.os.Looper.loop(Looper.java:193)            at android.app.ActivityThread.main(ActivityThread.java:5299)            at java.lang.reflect.Method.invokeNative(Native Method)            at java.lang.reflect.Method.invoke(Method.java:515)            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)            at dalvik.system.NativeStart.main(Native Method) 

  • Wie kann ich eine Intro-Logotype-Animation wie Skype-App machen?
  • Probleme beim Animieren der Listenansicht
  • SetRetainInstance (true) + setCustomAnimations (...) = Animation für jede Orientierungsänderung?
  • So erreichen Sie eine glatte Erweiterung / Zusammenbruch der Animation
  • Unendlicher ObjectAnimator mit Interpolator ... Wie beschleunige ich nur den Anfangsstart?
  • Fragment-Transaktionsanimation: ein- und ausschieben
  • Holen Sie sich die Breite des übergeordneten Layouts
  • Android Animation Alpha
  • 2 Solutions collect form web for “Benutzerdefinierte Animationen zum Starten von Aktivitäten in Android funktionieren nicht wie erwartet”

    Im Android Studio:

    • Rechtsklick auf den res-Ordner.
    • Neues> Android-Ressourcenverzeichnis.
    • Für Ressourcentyp: Anim auswählen.
    • Drücken Sie OK, und Sie haben den anim res Ordner.

    Sie können dann die Elemente für Ihre CustomAnimationActivity wie in Ihren styles erstellen / CustomAnimationActivity .

    Bearbeiten Sie das Crash-Protokoll

     java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.` 

    Ändern Sie styles.xml Ihre styles.xml , um ein AppCompat Thema zu erweitern

     <style name="YourTheme" parent="android:Theme.AppCompat.Light"> <item name="android:windowAnimationStyle">@style/CustomAnimationActivity</item> </style> 

    Außerdem sollte deine Activity wahrscheinlich AppCompatActivity (oder Activity ) erweitern.

    Versuche, unter xml-Dateien im anim-Ordner hinzuzufügen

    Fadein.xml

     <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="700" /> 

    Fadeout.xml

     <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:zAdjustment="top" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="700" /> 

    Nachdem du dies getan hast, füge einfach den Code in deiner Splash-Aktivität hinzu ( Hinweis: Platziere diesen Code nach Beendigung deiner Absicht)

     overridePendingTransition(R.anim.fadein, R.anim.fadeout); 
    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.