android客户端首次进入轮播引导图(五)

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

这个也支持短视频的播放,因为暂时还没有在服务器测试,就先写本地播放的吧。
先看一下效果图:图片太大放在github上了。
https://github.com/1181631922/Recreation/blob/master/readme/start/start4.gif
这里定义了一个不显示进度条的视频播放控件:

package com.fanyafeng.recreation.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.MediaController;
import android.widget.VideoView;

/**
 * Author: fanyafeng
 * Data: 17/1/11 下午6:06
 * Email: [email protected]
 */
public class FullScreenVideoView extends VideoView{
    public FullScreenVideoView(Context context) {
        super(context);
    }

    public FullScreenVideoView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public FullScreenVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int width = getDefaultSize(0, widthMeasureSpec);
        int height = getDefaultSize(0, heightMeasureSpec);
        setMeasuredDimension(width, height);
        MediaController mediaController = new MediaController(getContext());
        mediaController.setVisibility(GONE);
        this.setMediaController(mediaController);
    }
}

以下这行代码可以把手机的状态栏屏蔽:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);视频的话不展示,图片还是展示效果比较好

我把视频放在了raw目录下了,视频是从原来天天动听包里拿的。
上文中有所有代码,这里把核心代码写一下,感觉首次播放视频的话最好不要去设置几秒结束,让用户去操作比较好。

mediaController = new MediaController(this);
        fullVideoView.setMediaController(mediaController);

        sdvStartImg.setVisibility(View.GONE);
        fullVideoView.setVideoURI(Uri.parse("android.resource://com.fanyafeng.recreation/" + R.raw.login_video));
        fullVideoView.start();
        fullVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();
                mp.setLooping(true);
            }
        });

这里要设置循环,为了更好的用户体验。

猜你喜欢

转载自blog.csdn.net/qq_23195583/article/details/54411136