1. 程式人生 > >Android 仿抖音仿美拍視訊播放列表

Android 仿抖音仿美拍視訊播放列表

首先實現方式是 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