Android Smooth заполняет список новыми элементами сверху

так вот моя установка:

У меня есть список с пользовательским адаптером, и у меня есть методы, которые добавляют новые элементы в список сверху. Это работает без проблем, но я хочу настроить его и сделать его лучше.

Итак, вот моя проблема: прямо сейчас, когда я вызываю notifyDataSetChanged(), элементы добавляются в список, но это происходит мгновенно, и это довольно грубо, и вы не можете видеть, какие элементы были добавлены.

то, что я хочу сделать, это на самом деле иметь какую-то анимацию, когда элементы добавляются, чтобы казалось, что старые были сдвинуты вниз и были видны пользователю (возможно, последние 300 мс на элемент или 2 секунды, в общей сложности может быть 5 -10 шт.)

Спасибо за любую помощь, которую вы можете мне дать.


person DArkO    schedule 21.06.2011    source источник


Ответы (1)


Вы можете попробовать сделать tween-анимацию для listView. Но я не уверен, будут ли анимироваться только новые или все элементы при вызове notifyDataSetChanged.

person Maxim    schedule 21.06.2011
comment
я почти уверен, что это оживит весь список. моя идея заключалась в том, чтобы сохранить флаг для новых элементов и установить анимацию в элементе адаптера listView, чтобы он увеличивался в размере или что-то в этом роде, и помечал флаг как истинный после запуска анимации и запускал только в том случае, если флаг ложный. поэтому старые элементы, которые ранее отображались в списке, будут иметь флаг false, а новые — true, что запустит анимацию. - person DArkO; 21.06.2011
comment
Вы пытались плавно настроить позицию вашего списка, вызвав scrollBy или smoothScrollBy? Вы можете создать новый поток (AsyncTask) для этой анимации. - person Maxim; 21.06.2011