Android上下滑动视频播放器,仿抖音上下滑动切换视频

package com.example.pagersnaphelper;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import androidx.annotation.Nullable;

import androidx.recyclerview.widget.LinearLayoutManager;

import androidx.recyclerview.widget.PagerSnapHelper;

import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;

public class PagerSnapHelperActivity extends Activity {

/**

* UI

*/

// recycleView

private RecyclerView mRecyclerView;

// adapter

private MyAdapter myAdapter;

/**

* 数据

*/

//data

private ArrayList mDataList = new ArrayList<>();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.recycle_pager_activity);

// -----------创建数据集-------------

initData();

// 纵向List

initUI();

}

//视频数据源

private void initData() {

mDataList.add("http://vfx.mtime.cn/Video/2019/03/18/mp4/190318214226685784.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/19/mp4/190319104618910544.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/19/mp4/190319125415785691.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/17/mp4/190317150237409904.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/14/mp4/190314223540373995.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/14/mp4/190314102306987969.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/13/mp4/190313094901111138.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/12/mp4/190312143927981075.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/12/mp4/190312083533415853.mp4");

mDataList.add("http://vfx.mtime.cn/Video/2019/03/09/mp4/190309153658147087.mp4");

}

@SuppressLint("WrongConstant")

public void initUI() {

// ---RecyclerView---

mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview_vertical);

mRecyclerView.setNestedScrollingEnabled(false);

// PagerSnapHelper

PagerSnapHelper snapHelper = new PagerSnapHelper() {

// 在 Adapter的 onBindViewHolder 之后执行

@Override

public int findTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY) {

// TODO 找到对应的Index

return super.findTargetSnapPosition(layoutManager, velocityX, velocityY);

}

// 在 Adapter的 onBindViewHolder 之后执行

@Nullable

@Override

public View findSnapView(RecyclerView.LayoutManager layoutManager) {

// TODO 找到对应的View

return super.findSnapView(layoutManager);

}

};

snapHelper.attachToRecyclerView(mRecyclerView);

// ---布局管理器---

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);

// 默认是Vertical (HORIZONTAL则为横向列表)

linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);

//

mRecyclerView.setLayoutManager(linearLayoutManager);

myAdapter = new MyAdapter(R.layout.recycle_pager_item,mDataList);

// 设置Adapter

mRecyclerView.setAdapter(myAdapter);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值