Я пытаюсь создать Recyclerview, который будет прокручиваться вверх, а затем анимировать добавление элемента в recyclerview.Recyclerview - smoothScrollToPosition до вершины списка, а затем анимировать добавление элемента
Это код, который я до сих пор:
while (!mLayoutManager.isSmoothScrolling()) {
mRecyclerView.smoothScrollToPosition(0);
}
PostList.add(0, post);
mAdapter.notifyItemInserted(0);
mAdapter.notifyItemRangeChanged(1, PostList.size());
Это делает свитки к вершине, но добавление элемента не анимированный (хотя он добавляется в список).
Я думаю, что это связано с тем, что анимация добавления происходит одновременно с анимацией smoothScrollToPosition
, и поэтому, когда она достигла вершины, анимация добавления уже завершена, поэтому мы ее не видим.
Я могу использовать Handler.postDelayed
, чтобы дать анимацию прокрутки некоторое время, чтобы закончить, но это не предпочтительнее, так как я не знаю, как закончится анимация smoothScrollToPosition
.
Привет, спасибо за ваш ответ - я, похоже, не могу найти addOnScrollListener или removeOnScrollListener в классе recyclerview, даже если он указан как метод в документах https://developer.android.com/reference/ Android/поддержка/v7/виджет/RecyclerView.html # removeOnScrollListener (android.support.v7.widget.RecyclerView.OnScrollListener). Я в тупике, я использую com.android.support:recyclerview-v7:22.0.+ – Simon
Используйте 22.2. Раньше был setOnScrollListener. – yigit
Спасибо - код работает, если я добавлю еще одну строку в метод: mRecyclerView.smoothScrollToPosition (0); – Simon