使用 Kotlin 组合整数标志的最佳方法?
Best way to combine integer flags using Kotlin?
在java中,我们经常通过 | 组合标志运算符。
例如
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
我似乎无法在 Kotlin 中找到等效的运算符。有人知道在 Kotlin 中组合整数标志的便捷方法吗?
只需使用or
:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
这可能有点令人困惑。您可以创建一个小辅助扩展函数 with
(或其他)以使其更具可读性:
infix fun Int.with(x: Int) = this.or(x)
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE with
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION with
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
在java中,我们经常通过 | 组合标志运算符。
例如
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
我似乎无法在 Kotlin 中找到等效的运算符。有人知道在 Kotlin 中组合整数标志的便捷方法吗?
只需使用or
:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
这可能有点令人困惑。您可以创建一个小辅助扩展函数 with
(或其他)以使其更具可读性:
infix fun Int.with(x: Int) = this.or(x)
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE with
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION with
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);