android ステータスバーの文字色を変更する

今回やりたかったことはステータスバーの色を白にして、文字色を黒にしたかったが文字色の変え方が見つからない...

https://stackoverflow.com/questions/30464234/android-lollipop-set-status-bar-text-color
こちらによるとAndroid6以降なら「android:windowLightStatusBar」を指定することでステータスバーの色によって文字色をいい感じに変更してくれるみたい

f:id:yoppy0066:20190513001119p:plain:w180

Android5以下でのやり方がわからなかったので、Androidのバージョンを確認して5以下だったらステータスバーの色を黒っぽくすることにした...

res/values/styles.xml

<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="es">
  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ・・・
    <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    <item name="android:windowLightStatusBar" tools:targetApi="M">true</item>
  </style>
  ・・・
</resources>

MainActivity.kt

class MainActivity : AppCompatActivity() {

  ・・・

  // ステータスバーの色を黒っぽく
  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
    this.window.statusBarColor = ContextCompat.getColor(this, R.color.abc_primary_text_material_light)
  }
}

以上です