列表"/>
仿抖音列表
下面是自己写的防抖音列表,包括:
- 可上下滑动播放视频
- 播放完当前视频,自动播放下一个
- 仿抖音评论列表
- 节操播放器的简单使用
下面是两张效果图:
下面是下载地址:
GitHub 下载地址:
CSDN 下载地址:
看完效果图,来看下是如何实现的;
下面是设置 adapter 时主要的代码:
//设置adapteradapter = new VideoAdapter(MainActivity.this, myData);recyclerView.setAdapter(adapter);mLayoutManager = new PagerLayoutManager(this, OrientationHelper.VERTICAL);recyclerView.setLayoutManager(mLayoutManager);mLayoutManager.setOnViewPagerListener(new OnViewPagerListener() {@Overridepublic void onInitComplete(View view) {//点击进入 0playVideo(view, false);}@Overridepublic void onPageSelected(int position, boolean isBottom, View view) {positionClick = position;//滑动选择 1playVideo(view, isBottom);}@Overridepublic void onPageRelease(boolean isNext, int position, View view) {//暂停上一个播放
// releaseVideo(view);}});
上面代码自定义了 PagerLayoutManager ,它继承于 LinearLayoutManager ;
在这个类中,重写了手势滑动,也就是上下滑动;以及选中当前 item 后,onPageSelected 作为回调,在里面开始播放当前页的视频。
再看下 playVideo 方法中代码:
/*** 开始播放 & 监听播放完成*/private void playVideo(View view, boolean isBottom) {if (view != null) {jzVideo = view.findViewById(R.id.jzVideo);jzVideo.startVideo();if (isBottom) {//到最后一个加载第二页myData.add(".mp4");myData.add(".mp4");myData.add(".mp4");myData.add(".mp4");myData.add(".mp4");myData.add(".mp4");adapter.notifyDataSetChanged();}jzVideo.setFinishListerer(new MyVideoPlayer.OnItemClickListener() {@Overridepublic void onItemClick() {//播放完成自动播放下一个,用户没有看评论列表可以播放下一个if (isScroll) {smoothMoveToPosition(recyclerView, positionClick++);}}});}}
这个方法也很简单,获取到当前显示 item 中的视频播放器,然后开始播放视频,当播放到最后一个视频时,加载第二页内容以及更新 adapter ;
最后监听视频是否播放结束,播放结束后,滑动到下一个并播放。
更多推荐
仿抖音列表
发布评论