解释下 layoutParams = new WindowManager.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, height, WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH, PixelFormat.TRANSLUCENT ); layoutParams.setTitle("AllApplistWindow"); layoutParams.setFitInsetsTypes(0); layoutParams.windowAnimations = 0; layoutParams.gravity = Gravity.TOP; windowManager.addView(contentView,layoutParams);
时间: 2024-02-15 19:27:57 浏览: 172
安卓Android源码——悬浮窗监视内容.zip
这段代码是用来创建一个新的 Window 并将一个 View 添加到 Window 中。具体来说,它通过创建一个 WindowManager.LayoutParams 对象来控制 Window 的各种属性,如 Window 的宽度、高度、类型、透明度等。其中,WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL 表示这个 Window 的类型是导航栏面板,也就是说这个 Window 是一个浮动在导航栏上方的面板。而 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE、WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL、WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH、WindowManager.LayoutParams.FLAG_SPLIT_TOUCH 等标志位则控制了 Window 的行为,例如是否可获取焦点、是否可触摸、是否可在触摸区域外处理事件等。最后,通过调用 windowManager 的 addView() 方法将 contentView 添加到 Window 中。
阅读全文