我正在使用系统覆盖来显示一些内容。但我希望覆盖使背景变暗。我该怎么做?这就是我想要的:这就是我得到的方式:这是我设置叠加层的代码:overlay = LayoutInflater.from(this).inflate(R.layout.activity_popup_dictionary, null);final WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, PixelFormat.TRANSLUCENT);params.gravity = Gravity.BOTTOM; params.x = 0;params.y = 100;windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);windowManager.addView(overlay, params);
2 回答
largeQ
TA贡献2039条经验 获得超7个赞
Nigel Brown 的回答可以正常工作。
1:创建一个深色和低不透明度的形状(以获得全屏)。
2:创建一个新的布局或框架,把那个形状你作为后台创建
3:在这个新的近乎透明的布局的顶部,把你的布局,将覆盖任何你想
4:设置在后台点击收听,像yourLayout.setVisibilty(View.GONE)
以关闭覆盖
添加回答
举报
0/150
提交
取消