Есть такая анимация:
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;
}
Ответ
Если анимация лежит в
Комментариев нет:
Отправить комментарий