Window.setFlags(int flags, int mask) 的意义

来源:互联网 发布:9播网络电视 编辑:程序博客网 时间:2024/06/11 18:57

Flag:标记位(要改变的目标的目的值)

Mask:原始位(要改变的目标的原来值)

使用这两个值, 不仅可以改变所需要的值还可以判断值是否有变化, 例如从gone到invisible  需要重新布局, 从visiable 到 invisible 就不需要布局只需要重绘

        int changed = mViewFlags ^ old;  = 0x0000000100    //异或 0 表示两个值相同,即没有变化  ;不同表示有变化值为1

        if (changed == 0) { 

            return; //hey ! 没有变化! 直接return!

        }





以window.setFlags 官方源码为例:


* @param flags The new window flags (see WindowManager.LayoutParams).* @param mask Which of the window flag bits to modify.

0 0
原创粉丝点击