Android LinearLayoutManager和项目移除时的重新定位
LinearLayoutManager提供了在回收器中重新定位项目的基本实现。假设recyclerView中有以下配置: E0 | E1 E2 E3 | E4 其中|表示recyclerView的有效边界,E1上的删除将在所有重绘和动画后产生以下最终设置: E0 | E2 E3 E4 | 我需要完成一个不同的行为。基本上我想要 |E0 E2 E3 | E4 其他元素的移动取决于我删除的部分,屏幕的左侧或右侧(在本例中相对于E2)。基本上,必须将原始中心元素作为选择移动哪个零件的轴Android LinearLayoutManager和项目移除时的重新定位,android,linearlayoutmanager,Android,Linearlayoutmanager,LinearLayoutManager提供了在回收器中重新定位项目的基本实现。假设recyclerView中有以下配置: E0 | E1 E2 E3 | E4 其中|表示recyclerView的有效边界,E1上的删除将在所有重绘和动画后产生以下最终设置: E0 | E2 E3 E4 | 我需要完成一个不同的行为。基本上我想要 |E0 E2 E3 | E4 其他元素的移动取决于我删除的部分,屏幕的左侧或右侧(在本例中相对于E2)。基本上,必须将原始中心元素作为选择移动哪个零件的轴 似乎这种行为不
似乎这种行为不容易实现。设置stackFromEnd无法解决此问题,因为在另一侧存在类似的删除问题。在运行时更改stackFromEnd值,然后再有效地调用adapter.onItemRemoved并不能解决问题。删除时,只需调用
scrollToPositionWithOffset(adapterPositionOf(E2),offsetOf(E2))
删除时,只需调用scrollToPositionWithOffset(adapterPositionOf(E2),offsetOf(E2))
以下链接可能值得一看:以下链接可能值得一看:谢谢。使用smoothScrollBy也可以顺利实现这一点。虽然建议的解决方案似乎是一种变通方法,但我想知道,如果对LinearLayoutManagerThankyu稍作更改,是否可以实现更干净的解决方案(也指动画)。使用smoothScrollBy也可以顺利实现这一点。虽然建议的解决方案似乎是一种变通方法,但我想知道,如果对LinearLayoutManager稍作更改,是否可以实现更干净的解决方案(也指动画)