背景:
如今单内容在呈现的时候,很容易占取一屏,最常见是当下比较流行的模块:直播和短视频。
直播和短视频常见的播放预览的交互存在滑动,常见的滑动有左右或者上下。这两种滑动可以通过RecycleView或者ViewPager。
1.RecycleView实现单个item左右滑动或者上下滑动
1.1PagerSnapHelper帮助类
PagerSnapHelper:是recycleview的提供的包,可以直接引用
引用如下: private void initView(RecyclerView recyclerView) { PagerSnapHelper helper = new PagerSnapHelper(); helper.attachToRecyclerView(recyclerView); LinearLayoutManager manager = new LinearLayoutManager(this); recyclerView.setLayoutManager(manager); manager.setOrientation(LinearLayoutManager.HORIZONTAL); List<String> list = new ArrayList<>(); for (int index = 1; index <= 20; index++) { list.add("这是第:"+index+"页"); } DouyinAdapter adapter=new DouyinAdapter(list,this); recyclerView.setAdapter(adapter); }
只要在PagerSnapHelper的attachToRecyclerView方法中,将recycleview加进去就行了。
1.2是横向滑动还是垂直滑动
方向的控制还是通过layoutManager来控制
LinearLayoutManager manager = new LinearLayoutManager(this); recyclerView.setLayoutManager(manager); manager.setOrientation(LinearLayoutManager.HORIZONTAL);
setOrientation():是控制的,受原来的recycleview的控制一样。
1.3获取当前item position:
2.ViewPage:可借助开源的,可找寻githunb,后期会提供解决方案。
recycleview和viewpage如何选择:
1.简单的展示:
1.1非播放内容:可以使用recycleview的,可以达到一样的效果
1.2播放内容:直播或者短视频,为了好管理,可以采用viewpage,内容独立,未来可以抽取成独 立内容模块
2.涉及数据采集:
如果涉及到数据采集,按采集规则,有来源页和当前页等数据,选择viewpage比较方便。