activity 的昏暗背景
Dim background of an activity
我正在尝试将 activity 显示为具有暗淡背景的浮动 window,我正在使用以下代码来执行此操作,该代码取自 Google I/O 2016年项目:
protected void setupFloatingWindow(int width, int height, int alpha, float dim) {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = getResources().getDimensionPixelSize(width);
params.height = getResources().getDimensionPixelSize(height);
params.alpha = alpha;
params.dimAmount = dim;
params.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
getWindow().setAttributes(params);
}
我在 onCreate 中调用这个函数,在 super.onCreate 和 setContentView 之前,就像在 Google I/O 示例代码中一样。
这种方式对我不起作用。 activity 显示为浮动 window,具有我设置的大小,但后面的背景是黑色的,并没有像我预期的那样变暗。我设置的 dimAmount 是 0.4f.
我错过了什么吗?我应该添加更多内容吗?请帮助
尝试两件事:
params.alpha
值是一个浮点数,应该介于 0.0 和 1.0 之间,但您传递的是一个整数,因此 alpha 值被设置为完全不透明或完全透明,没有介于两者之间的值。
此外,在将 activity 样式更改为包括以下内容后,我只能在我的模拟器上运行它:
<item name="android:windowIsTranslucent">true</item>
我不知道你正在工作的项目中是否设置了这个。
我正在尝试将 activity 显示为具有暗淡背景的浮动 window,我正在使用以下代码来执行此操作,该代码取自 Google I/O 2016年项目:
protected void setupFloatingWindow(int width, int height, int alpha, float dim) {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = getResources().getDimensionPixelSize(width);
params.height = getResources().getDimensionPixelSize(height);
params.alpha = alpha;
params.dimAmount = dim;
params.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
getWindow().setAttributes(params);
}
我在 onCreate 中调用这个函数,在 super.onCreate 和 setContentView 之前,就像在 Google I/O 示例代码中一样。
这种方式对我不起作用。 activity 显示为浮动 window,具有我设置的大小,但后面的背景是黑色的,并没有像我预期的那样变暗。我设置的 dimAmount 是 0.4f.
我错过了什么吗?我应该添加更多内容吗?请帮助
尝试两件事:
params.alpha
值是一个浮点数,应该介于 0.0 和 1.0 之间,但您传递的是一个整数,因此 alpha 值被设置为完全不透明或完全透明,没有介于两者之间的值。
此外,在将 activity 样式更改为包括以下内容后,我只能在我的模拟器上运行它:
<item name="android:windowIsTranslucent">true</item>
我不知道你正在工作的项目中是否设置了这个。