autovideoplayer

autovideoplayer

项目地址: autovideoplayer
简介:仿照新浪微博列表滑动自动播放暂停视频

本文仿照新浪微博/QQ 空间实现了滑动自动播放视频的功能。

滑动自动播放 1


关键代码

1.监听滚动事件

首先要给 listview 添加 setOnScrollListener 监听,注意这个监听在 recyclerView 上是 addOnScrollListener,也就是说下面代码同时支持 recyclerView。

public int firstVisible=0,visibleCount=0, totalCount=0;
  videoList.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            switch (scrollState) {

                case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
                    Log.e("videoTest", "SCROLL_STATE_FLING");
                    break;

                case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
                    Log.e("videoTest", "SCROLL_STATE_IDLE");
                    autoPlayVideo(view);
                    break;

                case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
                    Log.e("videoTest", "SCROLL_STATE_TOUCH_SCROLL");
                    break;

                default:
                    break;
            }
        }   
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                             int visibleItemCount, int totalItemCount) {
            // firstVisibleItem   当前第一个可见的 item
            // visibleItemCount   当前可见的 item 个数
            if (firstVisible == firstVisibleItem) {
                return;
            }
            firstVisible = firstVisibleItem;
            visibleCount = visibleItemCount;
            totalCount = totalItemCount;
        }
    });

监听里会有两个方法,我们用 onScroll 方法记录 当前第一个可见 Item,以及可见 Item 总数,用 onScrollStateChanged 来监听手滑动屏幕的整个过程。 当 onScrollStateChanged 中的 scrollState 字段值等于 SCROLL_STATE_IDLE 时,代表本次滑动完毕并停止滚动

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值