猿问

使用叠加时如何获得较暗的背景?

我正在使用系统覆盖来显示一些内容。但我希望覆盖使背景变暗。我该怎么做?

这就是我想要的:

这就是我得到的方式:

http://img4.mukewang.com/60c174f40001c06f03580638.jpg

这是我设置叠加层的代码:


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);



慕婉清6462132
浏览 169回答 2
2回答

largeQ

Nigel Brown 的回答可以正常工作。1:创建一个深色和低不透明度的形状(以获得全屏)。2:创建一个新的布局或框架,把那个形状你作为后台创建3:在这个新的近乎透明的布局的顶部,把你的布局,将覆盖任何你想4:设置在后台点击收听,像yourLayout.setVisibilty(View.GONE)以关闭覆盖
随时随地看视频慕课网APP

相关分类

Java
我要回答