Страницы

Поиск по вопросам

среда, 10 апреля 2019 г.

Как сделать, чтобы анимация не останавливалась

Есть такая анимация:
android:duration="100" android:fillBefore="false" android:fromXScale="1.0" android:fromYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="0" android:toXScale="0.9" android:interpolator="@android:anim/decelerate_interpolator" android:toYScale="0.9" />
Как работает: объект сначала уменьшается,а потом возвращается в исходное состояние. (объект-ImageView)
В коде обращаюсь так:
anim= AnimationUtils.loadAnimation(getContext(),R.anim.clickbutton);
и вызываю так:
public boolean onTouch(View v, MotionEvent event) {
v.startAnimation(anim); switch (v.getId()) { case R.id.b1: { stopPlayerIfNeeded(); playSample(soundsRawResIds[0]); } break;
Все работает как часы, но хотелось бы, чтобы после нажатия анимация "постоянно работала" т.е нажал я на case R.id.b1 - выполнилось действие, но анимация продолжала работать до того момента, пока не выбрал другой R.id.* и т.к далее
///////////////////////////////////////// как в этом случае остановить анимацию?сейчас так: выбрал R.id.b1: все запустилось и работает, выбрал R.id.b2: запустилась анимация но и на R.id.b1: продолжает выполняться анимация,а нужно остановить
for (int j = 0; j < arr_imageB.length; j++) { arr_imageB[j].setOnTouchListener(new View.OnTouchListener() {
@Override public boolean onTouch(View v, MotionEvent event) {
v.startAnimation(anim); switch (v.getId()) { case R.id.b1: {
stopPlayerIfNeeded(); playSample(soundsRawResIds[0]);
}
break; case R.id.b2:
{ stopPlayerIfNeeded(); playSample(soundsRawResIds[1]);
}
break; case R.id.b3: { stopPlayerIfNeeded(); playSample(soundsRawResIds[2]);
}
break; case R.id.b4: { stopPlayerIfNeeded(); playSample(soundsRawResIds[3]); }
break; case R.id.b5: { stopPlayerIfNeeded(); playSample(soundsRawResIds[4]); } break; case R.id.b6: { stopPlayerIfNeeded(); playSample(soundsRawResIds[5]);
}
break; case R.id.b7: { stopPlayerIfNeeded(); playSample(soundsRawResIds[6]);
} break; }


Ответ

Если анимация лежит в то атрибут android:repeatCount="infinite" должен работать

Комментариев нет:

Отправить комментарий