昏暗的活动背景

时间:2017-04-22 18:01:26

标签: android background window floating

我正在尝试将活动显示为具有暗淡背景的浮动窗口,并且我使用以下代码执行此操作,该操作取自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示例代码中一样。

这种方式对我不起作用。活动显示为一个浮动窗口,其大小与我设置的一样,但背后的背景是黑色的,并且没有像我预期的那样变暗。我设置的dimAmount是0.4f。

我错过了什么吗?我应该添加更多东西吗?请帮忙

1 个答案:

答案 0 :(得分:1)

要尝试两件事:

params.alpha值是一个浮点数,应该介于0.0和1.0之间,但是你传递一个int,所以alpha值设置为完全不透明或完全透明,两者之间没有任何内容。

另外,在将活动样式更改为包括:

之后,我才能在我的模拟器上运行
<item name="android:windowIsTranslucent">true</item>

我不知道您在项目中是否设置了这项工作。