我需要实现一个滚动布局,其中加载了来自Adapter
的图像,以及其上的另一个滚动布局(FrameLayout
的第二层),其中包含单个图像的文本标签。顶层应该以“视差效果”滚动:http://upload.wikimedia.org/wikipedia/commons/3/34/Parallax_scrolling_example_scene.gif - 但在我们的情况下,与该动画不同,背景和前景层中的项目彼此相关,因为文本标签显然属于和描述图像。图层可以是listviews with custom dynamics(顶部的一个比底部的快)但我不确定如何同步它们;几点想法:
当两个图层中的移动停止时,重新绘制其中一个以匹配另一个列表中的可见项目 - 但这会导致闪烁/跳跃
或顶层可以根据速度动态增加项目之间的间距,这样较慢的背景层可以跟上它的运动 - 但我不确定这个所需的数学
答案 0 :(得分:0)
将2个列表视图与自定义动力学结合使用,然后将它们的速度与图像之间的距离联系起来。因此,其中x是前景列表视图的速度,y是背景列表视图的速度,y = x *(subimage2.y-subimage1.y)*百分位数。
答案 1 :(得分:0)
我最终使用具有较大尺寸专辑的快速滚动顶层和具有小专辑的两个较慢底层(两个层都将文本和图像组合在一起)来实现它。