2016-07-31 3 views

ответ

1

Да, вы можете, просто отдайте свой последний кадр еще на 10 секунд. Пример -

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> 
    <item android:drawable="@drawable/image" android:duration="100" /> 
    <item android:drawable="@drawable/image1" android:duration="100" /> 
    <item android:drawable="@drawable/image2" android:duration="100" /> 
    <item android:drawable="@drawable/image3" android:duration="100" /> 
    <item android:drawable="@drawable/image4" android:duration="10100" /> 
</animation-list> 

Надеется, что это поможет :)

+0

Спасибо! Есть ли способ сделать это из кода, более «элегантным» способом, например, использовать какой-то таймер или обработчик (что я не уверен, как это сделать)? – amitairos

+1

Вы также можете использовать таймер, но я думаю, что это лучший способ сделать это, потому что вся задержка и перезапуск анимации будут выполняться одним и тем же потоком. Если вы хотите обработать его с помощью таймера, таймер будет излишне создавать еще один дополнительный поток. Поэтому я никогда не буду рекомендовать использовать таймер или обработчик. – Neo

+0

ОК. Спасибо за совет! – amitairos

1
int count = -1; 

Timer mTimer = new Timer(); 
mTimer.schedule(new TimerTask() { 
@Override 
public void run() { 

    getActivity().runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 

      count++; 
      if (count >= imageArray.length) 
       count = 0; 

      MyImageView.setImageResource(imageArray[position]); 
     } 
    }); 
} 
}, 0, 10000);