版权声明:本文为博主原创文章,未经博主允许不得转载。 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