我的应用程序中有一个列表视图,它仅显示图像列表。现在我想在滚动列表视图时为列表项添加视差效果。我现在只实现了listview。
问问题
3411 次
2 回答
2
简而言之,您需要为您的 ListView 设置一个标题。此标头将包含您要对其应用视差的图像以及应覆盖的内容(它通常是经典的 ListView 标头,但它也可能看起来像列表中的任何元素)。
第二个主要的事情是将 a 添加ScrollListener
到您的ListView
,并创建一个自定义 ImageView (覆盖ImageView
),它能够接收您的列表滚动了多少。在onScroll
回调中,您可以检索列表的第一个元素(如果可见),对其执行操作getTop()
并将其发送到您的自定义 ImageView。
您现在有一个 ImageView,即使您的 List 滚动,它也知道它在屏幕上的位置。您需要知道的只是翻译视图的 Y(使用canvas.translate()
或view.translate()
取决于您正在使用的 SDK 版本)。
我认为它不会比集成库花费更多的时间,而且效果很好!
于 2013-07-03T07:48:48.763 回答
0
我通常ParallaxListView
由 Gnod 使用。检查以下链接
于 2013-07-03T07:38:32.893 回答