【Kotlin/Android】端末の画面の明るさをコードから変更する方法!WindowManager

【Kotlin/Android】端末の画面の明るさをコードから変更する方法!WindowManager

この記事からわかること

  • Android Studio/Kotlin端末画面明るさ変更するには?
  • window.attributes.screenBrightnessプロパティ
  • WindowManager.LayoutParamsで指定できる値

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

端末の画面の明るさをコードから変更する方法

Kotlinで端末の画面の明るさをコードから変更するにはwindow.attributes.screenBrightnessプロパティにWindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF/BRIGHTNESS_OVERRIDE_FULLなどを指定します。


val windowAttributes = window.attributes
// 画面の明るさを一番暗くする
windowAttributes.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF
window.attributes = windowAttributes

設定できるのは以下の3種類になります。

public static class LayoutParams extends ViewGroup.LayoutParams implements Parcelable {
    // 画面の明るさを一番明るくする
    public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0F;
    // 画面の明るさをユーザー設定値に戻す
    public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0F;
    // 画面の明るさを一番暗くする
    public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0F;
}

カスタム値を渡すことで微妙な明るさの調整を行うことも可能です。


val windowAttributes = window.attributes
// 画面の明るさを一番暗くする
windowAttributes.screenBrightness = 0.5f
window.attributes = windowAttributes

またアプリ内から明るさを変更しても端末自体の設定は変更されないためアプリを停止させるとユーザーの設定していた明るさに戻ってくれるようです。

iOS

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index