在Android Window上获取活动标志

时间:2014-06-13 20:11:13

标签: android window flags window-managers

是否可以通过编程方式获取Window上当前处于活动状态的标志?

我们可以通过以下方式启用标志:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

api是否提供了获取当前活动标志列表的方法? 感谢

1 个答案:

答案 0 :(得分:44)

您可以使用:

int flags = getWindow().getAttributes().flags;

您可以看到Window.setFlags()实施使用它:

public void setFlags(int flags, int mask) {
    final WindowManager.LayoutParams attrs = getAttributes();
    attrs.flags = (attrs.flags&~mask) | (flags&mask);
    ...

要确定是否设置了单个标志,必须使用按位和。例如:

if ((flags & WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) != 0) ...