diff --git a/README.md b/README.md index b63044b03671057c411a3afb978288595adce59d..7e427ca7d5916923533c9fceeab04ede125509ad 100644 --- a/README.md +++ b/README.md @@ -35,10 +35,47 @@ compile 'com.shuyu:gsyVideoPlayer:1.1.1' *

3、详情模式

+## 1.1.2 +* 增加了TAG和position来实现第一种list列表(非ListVideoUtil模式的列表实现)的滑动错位问题 + +``` + +videoList.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + } + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + int lastVisibleItem = firstVisibleItem + visibleItemCount; + //大于0说明有播放 + if (GSYVideoManager.instance().getPlayPosition() >= 0) { + //当前播放的位置 + int position = GSYVideoManager.instance().getPlayPosition(); + //对应的播放列表TAG + if (GSYVideoManager.instance().getPlayTag().equals(ListNormalAdapter.TAG) + && (position < firstVisibleItem || position > lastVisibleItem)) { + //如果滑出去了上面和下面就是否,和今日头条一样 + GSYVideoPlayer.releaseAllVideos(); + listNormalAdapter.notifyDataSetChanged(); + } + } + } +}); + +···· + +holder.gsyVideoPlayer.setPlayTag(TAG); +holder.gsyVideoPlayer.setPlayPosition(position); + +``` + ## 1.1.1 * 增加了ListVideoUtil全屏是否显示横屏,全屏是否自动旋转 * 增加了ListVideoUtils隐藏状态栏和title的接口 + + ## GSYVideoPlayer 播放器控件,抽象类,继承后可以直接使用,参考 StandardGSYVideoPlayer ## 记得调用销毁 diff --git a/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java b/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java index 6474f4fd86cf428ee482488849250d42b6c8f432..c52d88635b57985719c39fcf7c44e054873b9210 100644 --- a/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java +++ b/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java @@ -49,10 +49,14 @@ public class ListVideoActivity extends AppCompatActivity { @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { int lastVisibleItem = firstVisibleItem + visibleItemCount; + //大于0说明有播放 if (GSYVideoManager.instance().getPlayPosition() >= 0) { + //当前播放的位置 int position = GSYVideoManager.instance().getPlayPosition(); + //对应的播放列表TAG if (GSYVideoManager.instance().getPlayTag().equals(ListNormalAdapter.TAG) && (position < firstVisibleItem || position > lastVisibleItem)) { + //如果滑出去了上面和下面就是否,和今日头条一样 GSYVideoPlayer.releaseAllVideos(); listNormalAdapter.notifyDataSetChanged(); }