android JiaoZiVideoPlayer问题整理解析

1.监听播放按钮和全屏按钮
需求:实现点击播放按钮,跳转至提示页面,处理完毕后,返回至视频页面全屏播放视频

viewHolder.jzvdStd.startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (flag) {// 自定义的标识:是否跳转页面
                    if (viewHolder.jzvdStd.currentState == Jzvd.SCREEN_WINDOW_TINY) {
                        viewHolder.jzvdStd.onEvent(JZUserAction.ON_CLICK_PAUSE);
                        JZMediaManager.pause();
                        viewHolder.jzvdStd.onStatePause();
                    } else {
                        // 播放视频,并且自动开启全屏播放
                        viewHolder.jzvdStd.startVideo();
                        viewHolder.jzvdStd.fullscreenButton.performClick();
                    }
                } else {
                    context.startActivity();
                }
            }
        });

两个页面之间的操作,就不多赘述了

2.播放视频,全屏之后,返回视频列表,出现屏幕竖屏现象

直接强制横屏,在小米平板上出现,连续切换方向的现象,不知道是不是系统本身的问题,暂时未深入追究,有遇到此类问题或者解决过此类问题的同学,请留言

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        Log.d("MainActivity", "onConfigurationChanged");
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏设置
    }

3.页面本身的主题是隐藏通知栏的,但是播放视频之后,通知栏又出现了

直接强制隐藏它即可

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        Log.d("MainActivity", "onConfigurationChanged");
        // 播放视频后,通知栏莫名出现
        // 此处强制隐藏通知栏
        if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            WindowManager.LayoutParams attrs = getWindow().getAttributes();
            attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
            getWindow().setAttributes(attrs);
            getWindow().addFlags(
                    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
            WindowManager.LayoutParams attrs = getWindow().getAttributes();
            attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
            getWindow().setAttributes(attrs);
            getWindow().clearFlags(
                    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        }
    }

2017/03/14 更新至此,待续更
对第三个问题,进行补充,此方法单独使用亦可
getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
hideActionBar();
}
});

你可能感兴趣的:(Android)