android - 使用 Kotlin 组合整数标志的最佳方法?

标签 android 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
);

关于android - 使用 Kotlin 组合整数标志的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004977/

相关文章:

java - FirebaseAuth.getInstance().signOut() 不注销

java - 使用 getText() 并将其附加到我的微调器时出错

scala - 在Scala中调用Kotlin的重载方法

kotlin - 未解析的引用 : [BigInteger]. longValue

Android Compose Jetpack Autofocus on TextField 当屏幕打开或以编程方式满足应用程序要求

android - 通过 Intent 向多个收件人发送短信

android - 当 Dialog 遇上 videoview

kotlin - Intellij上的JDK14

android - Kotlin 的 isNullOrBlank() 函数是否可以导入到 xml 中以用于数据绑定(bind)

android - 调整位图大小是在 View 中裁剪而不是缩放