java - 如何在kotlin中换行?
问题描述
例如我有这样的java方法
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
// Standard Android full-screen functionality.
// Use for hide status bar and navigation buttons
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
所有条件都是可见且易于阅读的,但是有一个kotlin实现
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if (hasFocus) {
// Standard Android full-screen functionality.
// Use for hide status bar and navigation buttons
window.decorView.systemUiVisibility =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
你只有一条长长的线,完全不容易阅读。如果你尝试像在 java 中那样包装这一行,你会得到一个错误......
那么,有没有办法让它更适合呢?
解决方案
or
但是,您可以在行尾之前编写调用:
window.decorView.systemUiVisibility =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_FULLSCREEN or
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
另一种解决方法可能是使用非中缀调用:
window.decorView.systemUiVisibility =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
.or(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)
.or(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
.or(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)
.or(View.SYSTEM_UI_FLAG_FULLSCREEN)
.or(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)
推荐阅读
- html - 如何在下拉菜单中链接到另一个 html 页面?
- html - CSS 网格布局不覆盖整个网站
- android - Android 构建中的 libnativehelper 缺少变体
- 3d - 如何从 5 个表面点中获得一个超球面中心点?
- gitlab - 无法访问“https://XXXXXX/XXXXX.git/”:无法连接到 git.XXXX.net 端口 443:操作超时
- amazon-elastic-beanstalk - `utime':权限被拒绝 @ utime_internal - log/logstasher.log (Errno::EACCES)- Logstasher
- r - 将包含两个属性的列拆分为两个不同的列
- swift - 提交 WWDC 2021 奖学金的游乐场文件时可以在游乐场中使用 swiftUI 吗?
- colors - 如何使用 seaborn 将图例添加到箱线图
- java - 为什么不在 Maven 中编译测试依赖项?