这两天,通过WindowManager在Activity中添加了一个悬浮button,通过点击button可以启动一个新的Activity.一切都很顺利,悬浮窗口按如下方式就可以添加成功:
wmParams = new WindowManager.LayoutParams();
//获取的是WindowManagerImpl.CompatModeWrapper
mWindowManager = (WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
Log.i(TAG, "mWindowManager--->" + mWindowManager);
//设置window type
wmParams.type = LayoutParams.TYPE_PHONE;
//设置图片格式,效果为背景透明
wmParams.format = PixelFormat.RGBA_8888;
//设置浮动窗口不可聚焦(实现操作除浮动窗口外的其他可见窗口的操作)
wmParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;
//调整悬浮窗显示的停靠位置为左侧置顶
wmParams.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
// 以屏幕左上角为原点,设置x、y初始值,相对于gravity
wmParams.x = -100;
wmParams.y = 0;