public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.vitesse);
gpsManager = new GPSManager();
gpsManager.startListening(getApplicationContext());
gpsManager.setGPSCallback(this);
Typeface tf = Typeface.createFromAsset(getAssets(),
"font/DS-DIGI.TTF");
TextView loding =(TextView)findViewById(R.id.info_message);
loding.setTypeface(tf);
AlphaAnimation fadeIn = new AlphaAnimation(0.0f , 1.0f ) ;
AlphaAnimation fadeOut = new AlphaAnimation( 1.0f , 0.0f ) ;
loding.startAnimation(fadeIn);
loding.startAnimation(fadeOut);
fadeIn.setDuration(500);
fadeOut.setDuration(1200);
fadeOut.setStartOffset(1200+fadeIn.getStartOffset()+1200);
measurement_index = AppSettings.getMeasureUnit(this);
}
Je souhaite répéter cette opération d’animation de visualisation de texte jusqu’à obtenir une information du GPS.
Comme ceci .
animation.setRepeatCount(Animation.INFINITE);
Android vous propose des mécanismes élégants pour représenter le processus de chargement. Vous pouvez utiliser une ProgressBar
indéterminée ou une ImageView
avec une animation échelle/alpha au lieu d'animer la TextView
elle-même.
Peut-être trouverez-vous cette animation utile pour l'animation d'alpha et d'échelle en même temps. Variez les paramètres selon vos préférences:
file R.anim.alpha_scale_animation
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<scale
Android:fromXScale="0.7"
Android:toXScale="1.0"
Android:fromYScale="0.7"
Android:toYScale="1.0"
Android:pivotX="50%p"
Android:pivotY="50%p"
Android:duration="4000"
Android:repeatCount="infinite"
/>
<alpha
Android:fromAlpha="0.0"
Android:toAlpha="1.0"
Android:duration="2000"
Android:repeatMode="reverse"
Android:repeatCount="infinite"
/>
</set>
puis pour le lancer dans votre code:
Animation connectingAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.alpha_scale_animation);
myView.startAnimation(connectingAnimation);
Et pour l'arrêter:
myView.clearAnimation();
connectingAnimation.cancel();
connectingAnimation.reset();
Vous pouvez également utiliser des bibliothèques telles que ProgressButtonView pour que la même interaction utilisateur et le processus de chargement soient pris en charge dans le même widget.
J'espère que ces solutions seront utiles à quelqu'un :)
fadeIn.setRepeatCount(int count)
fadeIn.setRepeatMode(AlphaAnimation.INFINITE(or any other repeat mode reletaed yo your usage))
vous pouvez utiliser ces méthodes pour contrôler la répétition.
mettre en œuvre si nécessaire
//anim = your animation
anim.setAnimationListener(new AnimationListener()
{
public void onAnimationStart(Animation arg0)
{
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation arg0)
{
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation arg0)
{
}
});
si vous voulez arrêter votre animation soudainement, utilisez votre image.clearAnimation ().
pour répéter l'animation, ajoutez simplement le code dans le fichier XML qui se trouve dans le dossier de dossier anim dans lequel nous créons un objet d'animation.