我很好奇Fancy(https://play.google.com/store/apps/details?id=com.thefancy.app)如何实现这种观点。以下图片在Fancy app的卖家页面上捕获。
首先,它有标题视图+滑动标签条+视图寻呼机,其中包含片段。 如果用户向下滚动视图,标题视图将平滑消失,最后用户只能看到寻呼机标题和查看寻呼机。
我正在尝试使用PagerSlidingTabStrip
(https://github.com/astuetz/PagerSlidingTabStrip)和ViewPager
来实现类似功能,其中FragmentStatePagerAdapter
包含少量使用Etsy StaggeredGridView
的片段。 (https://github.com/etsy/AndroidStaggeredGrid)
为了实现此功能,我假设我必须使用OnScrollListener
的{{1}},但问题很少。
第一个是如何将滚动事件传递给主要活动。
滚动事件的传输过程是:
StaggeredGridView
- > StaggeredGridView
- > FragmentStatePagerAdapter
。
使它具有平滑滚动是一个漫长的过程。此外,我不能确定scroll事件的参数是否足以实现这一点。
MainActivity
(public void onScroll(final AbsListView view, final int firstVisibleItem,
final int visibleItemCount, final int totalItemCount) {
只有第一个可见项目的索引值,可见项目数量和项目总数。“
还有其他方法可以使用事件总线库(例如onScroll
方块(https://github.com/square/otto)处理许多片段和活动之间的事件,但我认为这不是一个好主意。
我发现了一篇博文,有助于实现漂亮的操作栏+列表视图(http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/),但仍然不知道如何实现像Fancy这样的视图。
我可能需要创建自定义视图寻呼机来轻松检测滚动事件吗?或者,有没有美丽的开源或有用的提示?小提示可能非常有用。
提前致谢。