en utilisant la liste d'animation android
J'ai un peu de mal à obtenir une animation de chargement spinner de travailler pour une splash page. Rien ne s'affiche lorsque j'essaie d'exécuter le code suivant. Toutes les suggestions? Il semble que quelques personnes ont des problèmes avec cela sur google, mais je ne comprends pas pourquoi le mien est de ne pas travailler. Merci!
animationloader.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/loadingspinner1" android:duration="200" />
<item android:drawable="@drawable/loadingspinner2" android:duration="200" />
<item android:drawable="@drawable/loadingspinner3" android:duration="200" />
<item android:drawable="@drawable/loadingspinner4" android:duration="200" />
<item android:drawable="@drawable/loadingspinner5" android:duration="200" />
<item android:drawable="@drawable/loadingspinner6" android:duration="200" />
<item android:drawable="@drawable/loadingspinner7" android:duration="200" />
<item android:drawable="@drawable/loadingspinner8" android:duration="200" />
<item android:drawable="@drawable/loadingspinner9" android:duration="200" />
<item android:drawable="@drawable/loadingspinner01" android:duration="200" />
<item android:drawable="@drawable/loadingspinner11" android:duration="200" />
<item android:drawable="@drawable/loadingspinner12" android:duration="200" />
</animation-list>
SplashScreen.java
package com.secure.inmatecanteen;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;
public class SplashScreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splashscreen);
//Beginning the loading animation as we attempt to verify registration with SIP
ImageView ivLoader = (ImageView) findViewById(R.id.IVloadinganimation);
ivLoader.setBackgroundResource(R.anim.animationloader);
AnimationDrawable frameAnimation = (AnimationDrawable) ivLoader.getBackground();
frameAnimation.start();
}
}
splashscreen.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="@android:color/white" >
<ImageView
android:id="@+id/iclogo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/iclogo"
android:adjustViewBounds="true"
/>
<ImageView
android:id="@+id/IVloadinganimation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
/>
</LinearLayout>
source d'informationauteur tier1
Vous devez vous connecter pour publier un commentaire.
Résolu mon problème, Vous ne pouvez pas démarrer les animations dans le oncreate. Il doit être dans un onclick auditeur ou à l'intérieur d'un exécutable.
Je pense que le plus élégant et polyvalent option est d'étendre à partir de l'ImageView classe:
L'loader.xml situé dans le dossier drawable:
Maintenant inclure dans votre point de vue quelque chose d'aussi simple que cela:
Vous pouvez jouer/start
animation
deonWindowFocusChanged(boolean hasFocus)
méthode.À l'intérieur de ce gestionnaire de l'animation n'est pas entièrement attaché à la fenêtre, de sorte que les animations ne peut pas être démarré; au lieu de cela, cela se fait généralement suite à l'action de l'utilisateur (telles que l'appui sur un bouton) ou dans le
onWindowFocusChangedhandler
.consulter: professionnel android 4 le développement de l'application
Ne définissez pas de ressource d'image de code xml.
Mon XML est:
En Activité, je ne
Drawable fichier
C'est du Bon Travail 🙂
Solution élégante - créez votre propre Vue Animée qui va suivre le cycle de vie des règles.
est ici animated_icon.xml