Android windowManger删除标志

时间:2016-08-01 15:58:04

标签: android

我在服务中有一个WindowManger,我添加了一些标志:

params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.TYPE_PHONE,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
    PixelFormat.TRANSLUCENT);

    params.gravity = Gravity.TOP | Gravity.LEFT;

    params.y = 0; //topPadding
    params.x = 0;
    windowManager.updateViewLayout(view, params);

如何在其他部分删除WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE

2 个答案:

答案 0 :(得分:4)

好的,稍后以编程方式执行

   layoutParams.flags = layourParams.flags & ~flag_you_don't_want;

这将仅关闭您想要的位。然后请求新布局以在屏幕上反映更改。

这种技术被称为" ANDing out"那一点。

答案 1 :(得分:1)

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);