我在服务中有一个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
?
答案 0 :(得分:4)
好的,稍后以编程方式执行
layoutParams.flags = layourParams.flags & ~flag_you_don't_want;
这将仅关闭您想要的位。然后请求新布局以在屏幕上反映更改。
这种技术被称为" ANDing out"那一点。
答案 1 :(得分:1)
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);