Android 仿抖音仿美拍视频播放列表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31008549/article/details/80167977

首先实现方式是 1.RecyclerView

                      2.ViewPager

我这里实现的方式是用的RecyclerView,欢迎大家共同探讨

实现方法:

第一步:

RecyclerView的基本实现 大家都会写,这里就不列举了。

注意点:就是item的最外层布局需要 match_parent

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/room_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/transparent"
                android:clickable="true">

当然播放器也写在item中。

<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:visibility="gone"/>
我这里列举的是VideoView,播放器有很多,看自己适合哪一种

第二步:

重点来了:

在build.gradle中引入

compile 'com.github.rubensousa:gravitysnaphelper:1.5'

然后在绑定适配器下面

        //item切换监听
        new GravityPagerSnapHelper(Gravity.BOTTOM, false, new GravitySnapHelper.SnapListener() {
            @Override
            public void onSnap(final int position) {
               //切换Item之后的操作

            }
        }).attachToRecyclerView(recyclerViewVideo);
这个方法就是Item切换之后的操作

另外需要监听RecyclerView配合GravityPagerSnapHelper 来实现你需要实现的效果

//item切换监听
recyclerViewVideo.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
        viewAnim.setVisibility(View.GONE);
        switch (newState) {
            case 0:
                System.out.println("recyclerview已经停止滚动");
                break;
            case 1:
                System.out.println("recyclerview正在被拖拽");
                break;
            case 2:
                
               System.out.println("recyclerview正在依靠惯性滚动");
break; } }}) ;

重点实现就是这些了,更多方法需要大家去发掘

欢迎大家一起探讨 

QQ 240272348


猜你喜欢

转载自blog.csdn.net/qq_31008549/article/details/80167977