Атрибут продолжительности AnimationDrawable - PullRequest
2 голосов
/ 31 августа 2011

У меня проблема с android: атрибут длительности в моем XML-файле.Это мой код:

<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/eye_1"
android:duration="150" />
<item
.
.
.
</animation-list>

Есть 8 изображений.Вот мой код активности:

    public class MyActivity extends Activity {
    AnimationDrawable frameAnimation;
    private MediaPlayer mp;
    @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sauron);
        mp = MediaPlayer.create(this, R.raw.sound);
        mp.setLooping(true);
        mp.start();

        ImageView imgView = (ImageView) findViewById(R.id.animationImage);
        // imgView.setVisibility(ImageView.VISIBLE);
        imgView.setBackgroundResource(R.drawable.animation);

        frameAnimation = (AnimationDrawable) imgView
                .getBackground();


     // Get instance of Vibrator from current Context
        Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        v.vibrate(10000);
    }
    @Override public void onWindowFocusChanged(boolean hasFocus) { 
        frameAnimation.start(); 
        super.onWindowFocusChanged(hasFocus); }

@Override
    protected void onStop()
{
    // Stop play
    super.onStop();
    mp.stop();
}
    }

Все работает нормально, но есть проблема с продолжительностью между изображениями.Независимо от того, какое число я поместил в Android: атрибут длительности, анимация работает очень быстро.Кто-нибудь знает, где проблема?

Спасибо

1 Ответ

0 голосов
/ 20 апреля 2013

длительность указана в «миллисекундах», что означает, что 150 - ОЧЕНЬ ОЧЕНЬ быстро когда 1500 равно 1,5 секундам, а 150 означает 0,15 секунды, что составляет чуть более одной десятой секунды

попробуйте ввести число в тысячах, например 1500 или 3000, и посмотрите, сработает ли это

...