Android ändern Hintergrundbild mit Fade In / Out Animation

Ich habe Code geschrieben, der das Hintergrundbild zufällig alle 5 Sekunden ändern kann. Ich möchte die Einblendung in / out Animation verwenden, um das Hintergrundbild zu ändern, aber ich weiß nicht, wie ich diese Animation verwenden kann.

Das ist meine Quelle:

  • Verwenden Sie selectableItemBackground mit einer weißen Hintergrundfarbe
  • Speichern und Wiederherstellen des zusammengefallenen Zustands von ExpandableListActivity mit SimpleCursorTreeAdapter
  • Generierung von Android-Build mit Gitlab CI
  • Screenshot mit Dialog aufnehmen
  • Wie bekomme ich den letzten Rekord von Sqlite?
  • Android / Java: Aufrufen einer Methode mit Reflexion?
  • void handlechange() { Handler hand = new Handler(); hand.postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub // change image here change(); } private void change() { // TODO Auto-generated method stub Random rand = new Random(); int index = rand.nextInt(image_rundow.length); mapimg.setBackgroundResource(image_rundow[index]); handlechange(); } }, 4000); } 

    Im Moment ist alles in Ordnung. Ich kann das Hintergrundbild zufällig ändern, aber ich weiß nicht, wie kann ich Animation verblassen in / out.

    Wenn jemand eine Lösung kennt, bitte helfen Sie mir, danke.

  • Android 6.0 Berechtigungsfehler
  • Verwenden Sie verschiedene Icons mit verschiedenen Android SDK Versionen
  • Verwenden von Daten aus Kontextanbietern oder Anfordern von Google Fotos Leseberechtigung?
  • Google-Karte, die in einem Fragment aufgerufen wird, gibt null zurück
  • Android jackson json objekt mapper array deserialisierung
  • Erstellen von Gridview mit anklickbaren Bildern, Android
  • 4 Solutions collect form web for “Android ändern Hintergrundbild mit Fade In / Out Animation”

    Sie müssen diese Codes anrufen.

    Zuerst musst du zwei xml-Dateien zum Ausblenden von & out-Animation machen.

    Fade_in.xml

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

    Fade_out.xml

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

    Zweitens müssen Sie Animation von imageView wie unten ausführen und auch Sie müssen AnimationListener setzen, um Fadeout zu ändern, wenn Fadein beenden.

     Animation fadeIn = AnimationUtils.loadAnimation(YourActivity.this, R.anim.fade_in); imageView.startAnimation(fadeIn); fadeIn.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { Animation fadeOut = AnimationUtils.loadAnimation(YourActivity.this, R.anim.fade_out); imageView.startAnimation(fadeOut); } @Override public void onAnimationRepeat(Animation animation) { } }); 

    Um die Animation zu verblassen, erstellen Sie einen neuen Ordner namens 'anim' in Ihrem res Ordner und in ihm, erstellen Sie 'fade_in.xml' mit folgendem Code

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

    Jetzt diese Animation auf deinem Bild betrachten, benutze den folgenden Code in deiner Aktivität

     Animation anim = AnimationUtils.loadAnimation(YourActivity.this, R.anim.fade_in); imageView.setAnimation(anim); anim.start(); 

    Für Fadeout Animation, nur Swap Werte von Android: von Alpha und Android: toAlpha

    Hoffe das hilft.

    Sie können relativeLayout verwenden und eine Ebene der Hintergrundansicht hinzufügen, die sowohl die Höhe als auch die Breite match_parent festlegt. Alle anderen UI-Elemente sollten oben auf diese Ansicht setzen. In deinem code Definiere fadeOut und fadeIn Animation. Finden Sie diese Hintergrundansicht von id, dann tun Sie dies:

      xxxBackground.startAnimation(fadeOut); xxxBackground.setBackgroundResource(R.drawable.your_random_pic); xxxBackground.startAnimation(fadeIn); 

    Sie können einen Interpolator verwenden, um die Leistung abzustimmen.

    Du brauchst AnimationDrawable mit Animation.

    Erster Schritt AnimationDrawable

    – Erstellen Sie eine Datei /res/anim/anim_android.xml

     <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false"> <item android:drawable="@drawable/android_1" android:duration="100"/> <item android:drawable="@drawable/android_2" android:duration="100"/> <item android:drawable="@drawable/android_3" android:duration="100"/> <item android:drawable="@drawable/android_4" android:duration="100"/> <item android:drawable="@drawable/android_5" android:duration="100"/> <item android:drawable="@drawable/android_6" android:duration="100"/> <item android:drawable="@drawable/android_7" android:duration="100"/> </animation-list> 

    -Add ein ImageView mit Android: src = "@ anim / anim_android".

     <ImageView android:id="@+id/myanimation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@anim/anim_android" /> 

    Zweiter Schritt

    -In Ihre Aktivität erstellen AnimationDrawable und Animation

     AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getDrawable(); animationDrawable.setOneShot(true); animationDrawable.start(); Animation animation = AnimationUtils.loadAnimation(YourActivity.this, android.R.anim.fade_in); imageView.setAnimation(animation); animation.start(); animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { Animation fadeOut = AnimationUtils.loadAnimation(YourActivity.this, android.R.anim.fade_out); imageView.startAnimation(fadeOut); } @Override public void onAnimationRepeat(Animation animation) { } }); 

    Du brauchst keinen Handler.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.