web-dev-qa-db-fra.com

Comment créer le délai de 1 sec avant de définir l'alpha de la vue?

Dans My Application, je vais définir l'alpha après une animation. Comme:

hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
 menuLayout.startAnimation(hideMenu);
 menuLayout.setVisibility(View.GONE);

Mais je veux régler le délai de 1 seconde avant que l'Alpha ne règle la vue. comme à cause de cela je ne peux pas voir l'animation de cette disposition. Alors, comment est-ce possible?

Merci.

36
Shreyash Mahajan

Dans votre fichier d'animation xml, vous pouvez utiliser Android:startOffset attribut:

Android:startOffset int. The amount of milliseconds the animation delays after start() is called.
67
Dmytro Danylyk

Ne pouvez-vous pas utiliser le

Dans votre animation xml?.

voir la documentation des ressources d'animation .

.

75
likebobby

Supposons que vous utilisez la méthode view .animate(), vous pouvez définir le décalage de début:

view.animate().x(100)
              .setDuration(5000)
              .setStartDelay(1000);
18
weston

Le gestionnaire est une bonne technique pour y parvenir.

new Handler().postDelayed(new Runnable()
{
   @Override
   public void run()
   {
     view.startAnimation(animation);
   }
}, 1000);
7
Kanagalingam

Dans votre cas, vous pouvez simplement faire comme ça

hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);

hideMenu.setStartOffset(1000);

 menuLayout.startAnimation(hideMenu);
 menuLayout.setVisibility(View.GONE);

Dans ce cas, vous pouvez contrôler dynamiquement la valeur de l'heure de début de l'activité

3
Observer