Android:读取 View.setSystemUiVisibility(int) 中的按位运算符或

Android: Reading Bitwise Operator OR in View.setSystemUiVisibility(int)

在 Android Studio 提供的 'Full Activity' 模板中,使用了以下代码:

// Note that some of these constants are new as of API 16 (Jelly Bean)
// and API 19 (KitKat). It is safe to use them, as they are inlined
// at compile-time and do nothing on earlier devices.

mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

我注意到这些标志中的每一个都有一个特定的最终 int 值,但是 | 的功能是什么?与这些值一起使用?

他们对所有数字应用按位或运算,然后组合成另一个包含所有标志的数字。

为了更清楚:假设您有标志 View.FLAG_1 = 1View.FLAG_2 = 2View.FLAG_3 = 4。这些标志的二进制值是 001010100.

如果您将 View.FLAG_1 | View.FLAG_3 传递给您的方法,您将传递 001 | 100,它等于 101。然后您的方法将了解这两个标志已通过。