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.
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.
Ne pouvez-vous pas utiliser le
Dans votre animation xml?.
voir la documentation des ressources d'animation .
.
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);
Le gestionnaire est une bonne technique pour y parvenir.
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
view.startAnimation(animation);
}
}, 1000);
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é