Android音视频系列

Android 巧用DecorView实现列表或详情视频播放器竖

2020-12-10  本文已影响0人  30eb7fe7eef0

  在平时开发过程中,如果使用到视频播放器的功能,那就一定会涉及到全屏切换的操作

以往常规操作基本如下

这样的操作在简单的界面可以适用,只要逻辑控制好即可。

弊端:
1、要进行逻辑处理较多,容易出问题
2、在列表等特殊位置的播放器不易控制
3、若使用全屏播放器切换不流畅,有卡顿现象


我们今天要说的是,如何在复杂界面上的视频播放切换,步骤很简单,两步骤,基本使用所有场景。

一、首先要了解一个 Activity 是由哪些部分组成

image.png

  从上面图片可以看出activity的层级可以看出整个activty的层级其实分为->phoneWindow->DecorView(包含TitleView [例如actionbar,StatusBar等] 和contentView [我们自己编写的界面] )

二、巧妙的利用DecorView层实现视频的全屏播放功能

注意事项:

1、每次移除加入的时候确保将其从原控件中移除,否则会报错 xx already has a parent xx 注意规避。
2、切换过程中注意DecorView.setSystemUiVisibility(x) 要注意控制顶部的状态栏样式,切换全屏播放的时候可以将其隐藏,还原小屏的时候再行恢复
3、注意刘海屏或挖孔屏等一些特殊屏幕的适配操作

举一反三:

1、实现播放器悬浮播放也可以参考这种,播放器保持一个对象,移除加入再恢复之类的


欢迎大家留言讨论

上一篇下一篇

猜你喜欢

热点阅读