Как использовать AnimationDrawable в getView с Галереей - PullRequest
3 голосов
/ 13 июля 2010

Я создаю представление галереи, где я загружаю изображения из Интернета.Пока изображения загружаются, я хочу отображать анимацию в качестве заполнителя для каждого изображения.Я подумал, что это можно сделать с помощью AnimationDrawable, однако анимация не запустится.Первый кадр анимации загружается как положено, и если я использую то же самое, например, в onWindowFoucsChanged в действии, все работает нормально.

Внутри метода getView моего GalleryItemCursorAdapter (который расширяет SimpleCursorAdapter)следующий фрагмент:

AnimationDrawable frameAnimation = (AnimationDrawable) mContext.getResources().getDrawable(R.drawable.loading);
    holder.picture.setImageDrawable(frameAnimation);
    frameAnimation.setCallback(holder.picture);
    frameAnimation.setVisible(true, true);
    frameAnimation.start();     

holder.picture является ImageView.Я не получаю ошибок, и (очень) похожий код, кажется, работает хорошо в других местах, что наводит меня на мысль, что это может быть связано с аналогичными проблемами onCreate для анимаций, о которых сообщалось в других местах.Я также попробовал некоторые варианты приведенного выше кода.

Мои вопросы:

  1. Есть ли более простой / лучший способ отобразить анимацию загрузки?
  2. Что я могу сделать, чтобы приведенный выше пример работал (если это вообще возможно)?

1 Ответ

1 голос
/ 21 мая 2011

создайте новую тему и начните ..

new Thread(new Runnable() {
    public void run(){
        // some code that runs outside the ui thread.
        frameAnimation.start();
    }
}).start();
...