Android的窗口管理器,删除标志

问题描述 投票:2回答:2

我有一个服务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另一部分?

android
2个回答
5
投票

好吧,这样做以后编程

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

这将关闭只有你想要落位。然后申请一个新的布局,以反映在屏幕上的变化。

这种技术被称为“AND运算出”该位。


1
投票
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
© www.soinside.com 2019 - 2024. All rights reserved.