android实现多画面播放,可无缝切换小窗/全屏的android播放器实现

本文介绍了如何在Android中实现多画面播放,并能无缝切换到小窗和全屏模式。在小窗模式下,通过删除并重新添加视图实现窗口位置的改变,使用DragFrameLayout实现拖拽功能。对于全局小窗,利用AlertDialog和SYSTEM_ALERT_WINDOW权限,创建可全局显示的窗口。全屏模式则涉及ActionBar和状态栏的隐藏以及屏幕方向的设置。此外,文章还提及了拖拽处理和接口设计的相关细节。
摘要由CSDN通过智能技术生成

效果:

97b061c08764

普通模式多画面 / 全屏播放

97b061c08764

小窗模式

布局和拖拽功能介绍

97b061c08764

普通窗口下的视图层级关系

将AutoMonitorPlayer作为控件时,layout图层关系如上图。AutoMonitorPlayer内部包含一个FrameLayout,将SurfaceView包含在内。

97b061c08764

页面小窗

当切换到小窗模式时,AutoMonitorPlayer将容器Framelayout删除出子节点,外部的根节点android.R.id.content再将容器FrameLayout加为子节点://父节点变了,需要从老的父节点处删掉容器

this.removeView(mContainer);

//android.R.id.content是MainActivity布局最外面的一层FrameLayout

ViewGroup contentView =(ViewGroup)NiceUtil.scanForActivity(mContext).findViewById(android.R.id.content);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值