短视频app源码,连麦时最小化出现可移动悬浮窗
2022/1/24 14:34:26
本文主要是介绍短视频app源码,连麦时最小化出现可移动悬浮窗,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
短视频app源码,连麦时最小化出现可移动悬浮窗实现的相关代码
新建悬浮窗Service
新建悬浮窗Service FloatWinfowServices,因为我们使用的BindService,我们在onBind方法中初始化service中的布局
override fun onBind(intent: Intent): IBinder? { initWindow() //悬浮框点击事件的处理 initFloating() return MyBinder() }
service中我们通过WindowManager来添加一个布局显示。
/** * 初始化窗口 */ private fun initWindow() { winManager = application.getSystemService(Context.WINDOW_SERVICE) as WindowManager //设置好悬浮窗的参数 wmParams = params // 悬浮窗默认显示以左上角为起始坐标 wmParams!!.gravity = Gravity.LEFT or Gravity.TOP //悬浮窗的开始位置,因为设置的是从左上角开始,所以屏幕左上角是x=0;y=0 wmParams!!.x = winManager!!.defaultDisplay.width wmParams!!.y = 210 //得到容器,通过这个inflater来获得悬浮窗控件 inflater = LayoutInflater.from(applicationContext) // 获取浮动窗口视图所在布局 mFloatingLayout = inflater!!.inflate(R.layout.remoteview, null) // 添加悬浮窗的视图 winManager!!.addView(mFloatingLayout, wmParams) }
悬浮窗的参数主要设置悬浮窗的类型为
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
8.0 以下可设置为:
wmParams!!.type = WindowManager.LayoutParams.TYPE_PHONE
代码如下所示:
private //设置window type 下面变量2002是在屏幕区域显示,2003则可以显示在状态栏之上 //设置可以显示在状态栏上 //设置悬浮窗口长宽数据 val params: WindowManager.LayoutParams get() { wmParams = WindowManager.LayoutParams() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { wmParams!!.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY } else { wmParams!!.type = WindowManager.LayoutParams.TYPE_PHONE } wmParams!!.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH wmParams!!.width = WindowManager.LayoutParams.WRAP_CONTENT wmParams!!.height = WindowManager.LayoutParams.WRAP_CONTENT return wmParams }
当点击悬浮窗的时候回到Activity2页面,并且悬浮窗消失,所以我们只需要给悬浮窗添加点击事件
linearLayout!!.setOnClickListener { startActivity(Intent(this@FloatWinfowServices, Main2Activity::class.java)) }
以上就是短视频app源码,连麦时最小化出现可移动悬浮窗实现的相关代码, 更多内容欢迎关注之后的文章
这篇关于短视频app源码,连麦时最小化出现可移动悬浮窗的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南