近期,公司正在做一个移动的项目!主程序中用了WindowManager来加载iew显示在桌面上,但是增值服务也用的WindowManager来加载iew显示在桌面上!这样以来,桌面出现了多窗体,接下来就要解决窗体直接的显示问题,可以将多窗体看为层(DIV),谁在上,谁在下,这就要处理了!
之前同事将增值业务的WindowManager.LayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR。这样就将这个window放在了所有内容之上,导致Toast被隐藏掉,无法正常使用它的完美提示了!
最后,研究发现,只要把每个(主程序、增值服务)的WindowManager.LayoutParams.type = -1,这样之后就可以将最后一次打开的window发在其他window之上,这样将不会把其他内容覆盖在下面,千万不能用WindowManager.LayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR。这样会将所用内容封死,不大利于程序的思路扩展!