龙空技术网

Android窗口类型简介

睿智的海边风浪 41

前言:

现时姐妹们对“一个应用程序窗口与多个应用程序相对应对吗”大体比较重视,各位老铁们都需要剖析一些“一个应用程序窗口与多个应用程序相对应对吗”的相关知识。那么小编也在网摘上网罗了一些对于“一个应用程序窗口与多个应用程序相对应对吗””的相关文章,希望朋友们能喜欢,大家快快来了解一下吧!

Android窗口类型主要分成了三大类

应用程序窗口

一般应用程序的窗口,比如我们应用程序的Activity的窗口。子窗口

一般在Activity里面的窗口,比如各种菜单等。系统窗口

系统的窗口,比如输入法,Toast,墙纸等。

WindowManager里面窗口的type类型值定义是一个递增保留的连续增大数值。其实就是窗口的Z-ORDER序列(值越大显示的位置越在上面,需要将屏幕想成三维坐标模式)。

定义

// 是由 WindowManager.LayoutParams 的属性决定public interface WindowManager extends ViewManager {    public static class LayoutParams extends ViewGroup.LayoutParams implements Parcelable {        @WindowType        public int type;    }}
三个窗口类型的值范围

应用窗口类型

子窗口类型

系统窗口类型

[1,99]

[1000,1999]

[2000,2999]

悬浮窗代码示例

    WindowManager.LayoutParams params = new WindowManager.LayoutParams();    WindowManager windowManager = getWindowManager();    // 这里添加窗口类型    params.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;    params.format = PixelFormat.RGBA_8888;    params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;    params.gravity = Gravity.START | Gravity.CENTER_VERTICAL;    params.x = 0;    params.y = 0;    params.width = 160;    params.height = 160;    View prcZuiBackView = LayoutInflater.from(this).inflate(R.layout.Myview, null);    windowManager.addView(prcZuiBackView, params);

标签: #一个应用程序窗口与多个应用程序相对应对吗