Ho due layout lineari che voglio eseguire due diverse animazioni su entrambi questi layout e allo stesso tempo.Come avviare due animazioni contemporaneamente in Android?
Ora funziona in modo sequenziale. io, dopo averne completato uno ne inizia un altro.
ecco il mio codice.
Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(500);
inFromRight.setInterpolator(new AccelerateInterpolator());
Animation outtoLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoLeft.setDuration(500);
outtoLeft.setInterpolator(new AccelerateInterpolator());
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.menu:
mainLayout.startAnimation(outtoLeft);
sideBar.startAnimation(inFromRight);
break;
}
}
outtoLeft.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
mainLayout
.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT, 40));
}
});
Grazie in anticipo!
È tutto il tuo codice? Il modo in cui sono scritte entrambe le animazioni dovrebbe iniziare nello stesso momento. –
No, ho anche ascoltatori di animazione. Dopo aver completato un'animazione, sto eseguendo alcune altre operazioni dell'interfaccia utente, è questo che influisce ..? Ho aggiornato il codice. – Noby