我有一个带有自定义LayoutManager的RecyclerView处理照片布局,因此在纵向和横向上的结果会有所不同,如下图所示。
现在一切正常,除非我处理从纵向到横向的onConfigurationChanged()回调,反之亦然。
我想保存recyclelerView的状态,所以当用户翻转设备时,我会将recyclelerview滚动到旋转前的相同位置。
如果你会注意到下面的照片,景观工作正常,但是当我切换到肖像时,它会滚动到用户所在的最后位置(注意红色汽车,这是理性逻辑,因为这是我想要的)但除了对于一个问题,看起来回收者视图突然在底部突然增加了空白区域。
我想避免它并将recyclerview放到其内容的底部(红色汽车不是数据集中的第一项,我之前还有更多项目),而不实际将用户带到他的最后一项滚动到的位置是将recyclerview带到"展开"。
如何计算scrollToPosition()是否"扩展"在其内容高度上的recyclerview?如果我没记错的话,它不会发生在LinearLayoutManager或GridLayoutManager中。
我只需要知道布局的位置是否在实际滚动到它之前是否有足够的空间并且最终滚动到最小的位置不会给底部的空白区域,但我不知道如何
旁注:如果我将其向上滚动然后再向下滚动它会保持在底部而没有多余的空白区域。