首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在窗口管理器参数中添加LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES?

如何在窗口管理器参数中添加LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES?
EN

Stack Overflow用户
提问于 2019-10-13 06:04:07
回答 1查看 2.2K关注 0票数 3

我正在创建一个Android应用程序,在该应用程序中,我使用服务和窗口管理器在所有应用程序之上显示一个浮动视图。我试图添加WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES在我的窗口管理器参数,以使我的布局覆盖显示剪贴画。但这在我的情况下似乎行不通。

我已经试着用这两种方式添加:

使用XML样式的

  1. :并在布局根视图中添加了此样式。但是它不起作用。
  2. 通过在我的服务中使用JAVA代码:

params =新的WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,( WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT)( WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,,PixelFormat.TRANSLUCENT);

也不起作用。我不确定我是否正确地应用了布局参数。请帮我解决这个问题。提前谢谢。

编辑:

这就是我在服务中实现泡沫的方式:

  1. 初始化窗口管理器和onCreate()方法中的布局:

windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);LayoutInflater inflater = (LayoutInflater) if (计量器!=空) mLayout = inflater.inflate(R.layout.my_layout,null,false);

  • 通过窗口管理器将此视图添加到窗口中:

WindowManager.LayoutParams params;params =新的WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,( WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT)( WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,,PixelFormat.TRANSLUCENT);

  • 最后通过addView方法将此视图添加到窗口:

windowManager.addView(mLayout,params);

通过使用上述方法,我可以在其他应用程序上显示我的观点。但问题是,我的观点并没有与显示断电重叠。当android处于景观模式时,就会发生这种情况。

解决方案:

我只是通过添加这一行代码(如Answere中所建议的)来解决这个问题:

代码语言:javascript
代码运行次数:0
运行
复制
     params.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-13 08:07:59

尝试在您的Activity中设置

代码语言:javascript
代码运行次数:0
运行
复制
window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58361003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档