java - 如何在Kotlin中换行?

标签 java android 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

解决方法的另一种方法是使用非infix调用:

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)

关于java - 如何在Kotlin中换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61171752/

相关文章:

java - IntelliJ - 从文件中获取标准输入

java - 点击提交按钮后出错

java - 简单 onClick 操作的问题

java - Cling 库不定期触发 M 搜索请求

android - 使用实时数据时如何在 Android 中链接转换?

Android RoleManager删除自己包的角色RoleManager.ROLE_SMS

javascript - 在函数中返回 postgresql 查询结果

java - 构造函数是 "invoked"与构造函数是 "executed"?

android - 圆形图标在 Android Studio 3.0 中没有改变

java - 如何查找文件是否为 CSV 文件?