Beste Möglichkeit, Integer-Flags mit Kotlin zu kombinieren?

Lesezeit: 1 Minute

Benutzer-Avatar von whiskyjoe
Whiskeyjoe

In Java kombinieren wir regelmäßig Flags über das | Operator.

z.B

getWindow().getDecorView().setSystemUiVisibility(
  View.SYSTEM_UI_FLAG_LAYOUT_STABLE | 
  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | 
  View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);

Ich kann den entsprechenden Operator in Kotlin nicht finden. Kennt jemand eine bequeme Möglichkeit, Integer-Flags in Kotlin zu kombinieren?

Benutzeravatar von nhaarman
nhaarmann

Benutz einfach 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
);

Dies kann ein wenig verwirrend sein. Sie können eine kleine Hilfserweiterungsfunktion erstellen with (oder was auch immer) um es lesbarer zu machen:

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

  • Stimmen Sie dem Infix zu, das habe ich immer gefunden or etwas verwirrend sein

    – mradsinski

    9. April 2017 um 19:12 Uhr

1436110cookie-checkBeste Möglichkeit, Integer-Flags mit Kotlin zu kombinieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy