【问题标题】:Reycler view and custom parallax effect回收站视图和自定义视差效果
【发布时间】:2017-01-23 13:29:42
【问题描述】:

我创建移动图像背景的视差效果仅取决于回收站视图的第一个元素的位置。

 @Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
     super.onScrolled(recyclerView, dx, dy);
     if ((holder = recyclerView.findViewHolderForAdapterPosition(0)) != null) {
           int offset =  recyclerView.findViewHolderForAdapterPosition(0).itemView.getTop() / 10;
           backgroundPhoto.setTop(offset);
}

问题是:当 recycler(header) 的第一项滚动离开屏幕时,背景图片会以某种方式跳到初始位置。

【问题讨论】:

    标签: android scroll android-recyclerview parallax


    【解决方案1】:

    一旦视图滚出屏幕,RecyclerView 可能仍然可以访问它,但它的 getTop() 值将具有一些随机值或 0,这将导致您的视差效果跳跃。

    你可以在你的类中保留一个字段来保存当前的“滚动距离”,并在onScrolled(...)回调中添加dx,并使用这个值来计算视差偏移。

    【讨论】:

    • 事实上,当后台“跳转”setTop 函数没有调用时。还有什么可以改变背景图片的位置?
    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 2022-01-05
    相关资源
    最近更新 更多