sys.stdin.read(1)
будет в основном читать 1 байт из STDIN.
Если вы должны использовать метод, который не дожидается
\n
, вы можете использовать этот код, как было предложено в предыдущем ответе:class _Getch: """Gets a single character from standard input. Does not echo to the screen.""" def __init__(self): try: self.impl = _GetchWindows() except ImportError: self.impl = _GetchUnix() def __call__(self): return self.impl() class _GetchUnix: def __init__(self): import tty, sys def __call__(self): import sys, tty, termios fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch class _GetchWindows: def __init__(self): import msvcrt def __call__(self): import msvcrt return msvcrt.getch() getch = _Getch()
( взято из http://code.activestate.com/recipes/134892/ )
EDIT: Ответ Andy Boots ниже - лучший ответ, имо.
Просто установите первую анимацию так, и она запустит вторую, как только анимация закончится:
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
wave.startAnimation(animation1);
}
});
edit: Причина, по которой только вторая анимация выполняется с вашим текущим кодом, в том, что он переопределяет воспроизведение первой анимации (на самом деле воспроизводятся обе, но вы видите только последнюю, которая запускается). Если вы сделаете так, как я написал, они будут воспроизводиться последовательно, а не параллельно.