yww*_*ynm 5 android android-support-library android-recyclerview
我通过创建和绑定由于特殊视图类型的唯一ViewHolderin 创建了标题视图RecyclerView.标题是完全空白的,但它是全跨度的,当用户滚动时,它的高度可以很好地计算后续动画RecyclerView:
TextView将从标题视图的中心移动到Toolbar最后"成为"它的标题.在此过程中,TextView将根据垂直偏移量收缩.TextView将与第一个TextView同时移动,但它不会缩小.相反,当第一个TextView位于正确位置时,它将改变alpha并最终变为透明Toolbar.为了实现它们,我需要获得滚动距离,RecyclerView以便我可以计算translateY或alpha.
这就是我现在所做的:
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
private int totalDy = 0;
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
totalDy -= dy;
// setAlpha, setTranslationY and setScale here according to totalDy.
}
});
Run Code Online (Sandbox Code Playgroud)
当数据集没有改变时,它工作正常.但是,当我向下滚动时,向适配器插入/删除任何项目notifyItemInserted/Removed(),并且totalDy将不准确.例如,当我删除一个项目时,totalDy将不再返回0.
结果,使用totalDy来获得滚动距离似乎RecyclerView不会很好.开发人员有没有办法获得它?
注意:我使用的是a StaggeredGridLayoutManager,我觉得它与...不同LinearLayoutManager.
| 归档时间: |
|
| 查看次数: |
1469 次 |
| 最近记录: |