背景:
如今单内容在呈现的时候,很容易占取一屏,最常见是当下比较流行的模块:直播和短视频。
直播和短视频常见的播放预览的交互存在滑动,常见的滑动有左右或者上下。这两种滑动可以通过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比较方便。