open fun showPositionRecyclerMove(mRecyclerView: RecyclerView, position: Int) {
val layoutManager = mRecyclerView.layoutManager
if (layoutManager is LinearLayoutManager) {
val firstItem = layoutManager.findFirstVisibleItemPosition()
val lastItem = layoutManager.findLastVisibleItemPosition()
android.util.Log.d("ttt", "第一个:$firstItem 最后一个:$lastItem 当前:$position")
if (lastItem - firstItem <= 2) {
//|| (firstItem < position - 2 && position < lastItem - 2)
mRecyclerView.smoothScrollToPosition(position)
} else if (position - firstItem <= 1) {
mRecyclerView.smoothScrollToPosition(Math.max(0, position - 1))
android.util.Log.w("ttt", "移动到上一个:" + Math.max(0, position - 1))
} else if (lastItem - position <= 1) {
mRecyclerView.smoothScrollToPosition(position + 1)
android.util.Log.i("ttt", "移动到下一个:" + (position + 1))
}
}
}
RecyclerView 选中item始终展示在屏幕内
最新推荐文章于 2022-10-09 21:05:25 发布