Запуск метода после добавления всех пользовательских представлений

#android

#Android

Вопрос:

Я пытаюсь анимировать пользовательский вид в Android.

Я попытался запустить свой метод в onResume() , но я получил тот же результат, что и при запуске функции в onCreate()

Где я должен вызвать свою функцию?

Вот моя функция

 private void animateAndSetIndexes () {
     for (BarView bv : barViews) {
         Toast.makeText(this, bv.isShown()   " ", Toast.LENGTH_SHORT).show();
         if (bv.getLocalVisibleRect(scrollBounds)) {
                bv.startAnimation(scale_up);
          }
     }
  }



@Override
protected void onResume() {
    super.onResume();
    animateAndSetIndexes();
}
  

Я получаю «ложный» запрос, который означает, что представление еще не добавлено.

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

1. Удалите свой toast и используйте logcat вместо этого.

Ответ №1:

Вы могли бы использовать addOnPreDrawListener внутри самого класса пользовательского представления или из Activity / Fragment. При вызове onPreDraw запустите анимацию там. Примечание: Вы захотите удалить прослушиватель предварительного рисования после запуска анимации, чтобы он onPreDraw не вызывался повторно, и перезапустить анимацию.