直播app开发,推出语音聊天室时保持悬浮窗存在状态

直播app开发,推出语音聊天室时保持悬浮窗存在状态实现的相关代码

 

1
    private WindowManager mWindowManager;<br>    private WindowManager.LayoutParams wmParams;<br>    private LinearLayout mFloatInfoView;//悬浮窗布局文件<br>    private TextView mTvInfoMessage;<br>MainActivity()<br>{<br>if(windowOn == true)<br>{<br>showTheWindows();<br>}else<br>{<br>if (mWindowManager != null &&mFloatInfoView != null ) {<br>                mWindowManager.removeViewImmediate(mFloatInfoView);<br>                    }<br>}<br>}<br>public void showTheWindows()<br>    {<br> <br>        Context appContext = context.getApplicationContext();<br>        // 获取WindowManager<br>        mWindowManager = (WindowManager) appContext.getSystemService(Context.WINDOW_SERVICE);<br>        mFloatInfoView = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.float_test_info_view, null);<br>        initMoveableParams();<br>        initInfoWindow();<br>    }<br>public void initMoveableParams() {<br>        wmParams = new WindowManager.LayoutParams();<br>        wmParams.type = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ?<br>                WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY :<br>                WindowManager.LayoutParams.TYPE_PHONE;<br>        wmParams.format = PixelFormat.RGBA_8888;<br>        wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;<br>        wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;<br>        wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;<br>        wmParams.gravity = Gravity.RIGHT | Gravity.BOTTOM;<br>    }<br>   public boolean initInfoWindow() {<br>    boolean b = false;<br>        //get layout<br>        LayoutInflater inflater = LayoutInflater.from(context);<br>        if (inflater == null) {<br>        log("[initInfoWindow] inflater = null");<br>            return b;<br>        }<br>        mFloatInfoView = (LinearLayout) LayoutInflater.from(context).inflate(com.mediatek.internal.R.layout.float_test_info_view, null);<br>        if (mFloatInfoView == null) {<br>        log("[initInfoWindow] mFloatInfoView = null");<br>            return b;<br>        }<br>        mWindowManager.addView(mFloatInfoView, wmParams);<br>        return true;<br>    }

以上就是 直播app开发,推出语音聊天室时保持悬浮窗存在状态实现的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示