【发布时间】:2014-08-04 11:24:53
【问题描述】:
是否可以通过编程方式获取窗口上当前处于活动状态的标志?
我们可以通过以下方式启用标志:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
api 是否提供了一种获取当前活动标志列表的方法? 谢谢
【问题讨论】:
标签: android window flags window-managers
是否可以通过编程方式获取窗口上当前处于活动状态的标志?
我们可以通过以下方式启用标志:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
api 是否提供了一种获取当前活动标志列表的方法? 谢谢
【问题讨论】:
标签: android window flags window-managers
你可以使用:
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) ...
【讨论】: