1
我試圖創建一個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
動畫將完成的時間。
嗨,感謝您的回覆 - 我似乎無法在recyclerview類中找到addOnScrollListener或removeOnScrollListener方法,即使它列爲文檔中的方法https://developer.android.com/reference/安卓/支持/ 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