视频播放器 第8节 横屏的播放界面

第8节 横屏的播放界面

在设备旋转成横屏的时候,视频将自动进行全屏播放。

8.1 播放器横屏布局

我们要为全屏播放界面设置一个新的布局,这个布局里面只用来播放视频,不需要显示任何视频信息,

8.2 全屏的设置

因为横竖屏的VideoPlayer都是一套代码实现的,所以需要判断当前Activity是横屏还是竖屏,

VideoPlayer创建的时候,我们要对这个Activity进行全屏的设置,

因为要使应用全屏,所以需要修改Activity所属的窗口-Window的属性。以此告诉系统需要隐藏状态栏和导航栏。

还需要隐藏ActionBar

8.3 横竖屏转换的状态保存

在旋转的过程中,Activity将经历这些的生命周期:
用户可以与Activity交互,此时屏幕进行旋转,从竖屏变横屏->
onSaveInstanceState()->
onPause()->
onStop()->
onDestroy()->
onCreate()->
onStart()->
onRestoreInstanceState()->
onResume()->
用户可以与Activity交互;

可见,这个Activity要被重新创建一次,所以当视频正在播放的时候,我们要保存好视频当前播放的位置,Activity重建以后才能从之前播放到的位置继续播放。

我们要在onSaveInstanceState()里面保存当前播放的位置,

onRestoreInstanceState()里面取出打断播放时的位置,并存储到mLastPlayedTime里面,当Activity在onResume()的时候,就能够跳转到播放点开始播放了。