Best way to combine integer flags using Kotlin?

前端 未结 1 1339
隐瞒了意图╮
隐瞒了意图╮ 2020-12-17 08:00

In java we regularly combine flags via the | operator.

e.g.

getWindow().getDecorView().setSystemUiVisibility(
  View.SYSTEM_UI_FLAG_LAYOUT_STABLE |          


        
相关标签:
1条回答
  • 2020-12-17 08:19

    Just use 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
    );
    

    This may be a little confusing. You can create a little helper extension function with (or whatever) to make it more readable:

    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
    );
    
    0 讨论(0)
提交回复
热议问题