type 的取值:
应用程序窗口。
public static final int FIRST_APPLICATION_WINDOW = 1;
所有程序窗口的“基地”窗口,其他应用程序窗口都显示在它上面。
public static final int TYPE_BASE_APPLICATION =1;
普通应用功能程序窗口。token必须设置为Activity的token,以指出该窗口属谁。
public static final int TYPE_APPLICATION = 2;
用于应用程序启动时所显示的窗口。应用本身不要使用这种类型。
它用于让系统显示些信息,直到应用程序可以开启自己的窗口。
public static final int TYPE_APPLICATION_STARTING = 3;
应用程序窗口结束。
public static final int LAST_APPLICATION_WINDOW = 99;
子窗口。子窗口的Z序和坐标空间都依赖于他们的宿主窗口。
public static final int FIRST_SUB_WINDOW = 1000;
面板窗口,显示于宿主窗口上层。
public static final int TYPE_APPLICATION_PANEL = FIRST_SUB_WINDOW;
媒体窗口,例如视频。显示于宿主窗口下层。
public static final int TYPE_APPLICATION_MEDIA = FIRST_SUB_WINDOW+1;
应用程序窗口的子面板。显示于所有面板窗口的上层。(GUI的一般规律,越“子”越靠上)
public static final int TYPE_APPLICATION_SUB_PANEL = FIRST_SUB_WINDOW +2;
对话框。类似于面板窗口,绘制类似于顶层窗口,而不是宿主的子窗口。
public static final int TYPE_APPLICATION_ATTACHED_DIALOG = FIRST_SUB_WINDOW +3;
媒体信息。显示在媒体层和程序窗口之间,需要实现透明(半透明)效果。(例如显示字幕)
public static final int TYPE_APPLICATION_MEDIA_OVERLAY = FIRST_SUB_WINDOW +4;
子窗口结束。( End of types of sub-windows )
public static final int LAST_SUB_WINDOW = 1999;
系统窗口。非应用程序创建。
public static final int FIRST_SYSTEM_WINDOW = 2000;
状态栏。只能有一个状态栏;它位于屏幕顶端,其他窗口都位于它下方。
public static final int TYPE_STATUS_BAR = FIRST_SYSTEM_WINDOW;
搜索栏。只能有一个搜索栏;它位于屏幕上方。
public static final int TYPE_SEARCH_BAR = FIRST_SYSTEM_WINDOW+1;
电话窗口。它用于电话交互(特别是呼入)。它置于所有应用程序之上,状态栏之下。
public static final int TYPE_PHONE = FIRST_SYSTEM_WINDOW+2;
系统提示。它总是出现在应用程序窗口之上。
public static final int TYPE_SYSTEM_ALERT = FIRST_SYSTEM_WINDOW +3;
锁屏窗口。
public static final int TYPE_KEYGUARD = FIRST_SYSTEM_WINDOW +4;
信息窗口。用于显示toast。
public static final int TYPE_TOAST = FIRST_SYSTEM_WINDOW +5;
系统顶层窗口。显示在其他一切内容之上。此窗口不能获得输入焦点,否则影响锁屏。
public static final int TYPE_SYSTEM_OVERLAY = FIRST_SYSTEM_WINDOW +6;
电话优先,当锁屏时显示。此窗口不能获得输入焦点,否则影响锁屏。
public static final int TYPE_PRIORITY_PHONE = FIRST_SYSTEM_WINDOW +7;
系统对话框。(例如音量调节框)。
public static final int TYPE_SYSTEM_DIALOG = FIRST_SYSTEM_WINDOW +8;
锁屏时显示的对话框。
public static final int TYPE_KEYGUARD_DIALOG = FIRST_SYSTEM_WINDOW +9;
系统内部错误提示,显示于所有内容之上。
public static final int TYPE_SYSTEM_ERROR = FIRST_SYSTEM_WINDOW +10;
内部输入法窗口,显示于普通UI之上。应用程序可重新布局以免被此窗口覆盖。
public static final int TYPE_INPUT_METHOD = FIRST_SYSTEM_WINDOW +11;
内部输入法对话框,显示于当前输入法窗口之上。
public static final int TYPE_INPUT_METHOD_DIALOG= FIRST_SYSTEM_WINDOW +12;
墙纸窗口。
public static final int TYPE_WALLPAPER = FIRST_SYSTEM_WINDOW +13;
状态栏的滑动面板。
public static final int TYPE_STATUS_BAR_PANEL = FIRST_SYSTEM_WINDOW +14;
系统窗口结束。
public static final int LAST_SYSTEM_WINDOW = 2999;
相关推荐
在Android开发过程中,`WindowManager.LayoutParams`是一个非常重要的类,它用于配置窗口的各种属性,如位置、大小、类型等。通过本文档,我们将深入探讨`WindowManager.LayoutParams`的所有参数及其详细信息。 ###...
2. **定义LayoutParams**:`WindowManager.LayoutParams`是用于设置视图在屏幕上的位置和属性的对象。对于悬浮窗口,我们通常使用`TYPE_SYSTEM_ALERT`或`TYPE_PHONE`来确保窗口在其他应用之上显示。同时,也需要设置...
1. **WindowManager.LayoutParams.type**:此属性定义了窗口在屏幕上的层级和用途。例如: - `FIRST_APPLICATION_WINDOW`是普通应用的第一个窗口。 - `TYPE_BASE_APPLICATION`是所有应用的基础窗口,其他窗口在其...
layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; layoutParams.width = LayoutParams.WRAP_CONTENT; ...
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); params.gravity = Gravity.TOP ...
layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; ``` 然后,我们需要设置悬浮窗的宽高、布局参数以及背景透明度: ```java layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT; ...
现在,我们可以使用`WindowManager.LayoutParams`来设置视图的位置、类型和其他属性。`LayoutParams`的`type`字段需要设置为`TYPE_SYSTEM_ALERT`,这样视图就可以在所有应用之上显示: ```java WindowManager....
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, ...
3. 创建LayoutParams:定义悬浮窗的位置和属性,通常使用LayoutParams的TYPE_SYSTEM_ALERT类型。 ```java WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams( ViewGroup.LayoutParams....
4. **设置LayoutParams**:创建`WindowManager.LayoutParams`对象,配置浮动窗口的位置、大小、类型等属性。`LayoutParams.TYPE_SYSTEM_ALERT`常用于创建系统浮动窗口。 ```java WindowManager.LayoutParams params...
在创建自定义对话框时,通常会使用LayoutInflater来加载XML布局,然后通过WindowManager的LayoutParams对象来设置对话框的位置和属性,最后将其添加到窗口管理器中。 要创建一个WindowManager对话框,你需要遵循...
在Android中,悬浮窗通常基于`WindowManager`服务,结合`LayoutParams`来设置窗口属性。下面是一个简单的悬浮窗创建示例: ```java WindowManager windowManager = (WindowManager) getSystemService(WINDOW_...
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); ``` 2. 实现悬浮窗视图:创建一...
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; // 新版本API使用此类型,权限更高 params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.height = WindowManager.LayoutParams.WRAP_...
接着,`WindowManager.LayoutParams`是配置窗口参数的类,它包含了窗口的布局属性、大小、位置等信息。例如,我们可以通过设置`LayoutParams.TYPE_SYSTEM_ALERT`来创建一个具有系统警告级别的浮窗,这样即使在其他...
接下来,我们要创建一个WindowManager.LayoutParams对象,它定义了悬浮窗的位置、大小、类型等属性。悬浮窗的类型应设置为TYPE_SYSTEM_ALERT,这样即使在其他应用之上也能显示。 ```java WindowManager....
通常我们会使用` WindowManager.LayoutParams.TYPE_SYSTEM_ALERT `类型,因为它允许浮动窗口在所有应用之上显示,但用户可以关闭它。 ```java WindowManager.LayoutParams params = new WindowManager.LayoutParams...
接下来,我们需要创建一个自定义的`View`,并用`WindowManager.LayoutParams`来设置它的属性,如位置、大小和类型。类型应设为`TYPE_PHONE`或`TYPE_SYSTEM_ALERT`,以确保悬浮窗在其他应用之上显示: ```java ...
然后,使用`WindowManager`添加一个`View`到屏幕顶部,通常使用`LayoutParams`来设置其布局属性,如位置、大小等。以下是一个简单的示例: ```java WindowManager.LayoutParams params = new WindowManager....
服务中会创建一个WindowManager,并通过LayoutParams设置窗口属性,如类型、位置、大小等。例如: ```java WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP...