标志位组合中|和^的使用

|和^常用来操作一组可选项。

|表示可选项组合中若不存在该可选项,则添加;若存在该可选项则不变。

^表示可选项组合中若不存在该可选项,则添加;若存在该可选项则删除。

 

|表示比如:

       boolean isImmersiveModeEnabled =
                ((uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) == uiOptions);
        if (isImmersiveModeEnabled) {
            Log.i(TAG, "Turning immersive mode mode off. ");
        } else {
            Log.i(TAG, "Turning immersive mode mode on.");
        }

这段代码的意思是判断uiOptions可选项组合中是否存在View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY标志,若不存在结果为false,若存在结果为true。

 

^表示比如:

newUiOptions ^= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;

这段代码的意思是若View.SYSTEM_UI_FLAG_NAVIGATION存在则删除,若不存在则添加。这样通过一句代码就可以实现删除和添加的循环。

posted @ 2016-04-12 14:21  因为全栈所以架构  阅读(314)  评论(0编辑  收藏  举报