HarmonyOS鸿蒙Next中如何获取屏幕亮度

HarmonyOS鸿蒙Next中如何获取屏幕亮度 怎么获取屏幕亮度,现在getWindowProperties.brightness获取的是-1,我现在想要获取具体的亮度,想要实现一个Slider可以调节的逻辑。

4 回复

更多关于HarmonyOS鸿蒙Next中如何获取屏幕亮度的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


import { promptAction, window } from '@kit.ArkUI'

@Entry
@Component
struct SliderExample {
  @State vInSetValue: number = 0

  build() {
    Column({ space: 8, }) {
      Column() {
        Slider({
          value: this.vInSetValue,
          style: SliderStyle.InSet,
          direction: Axis.Horizontal,
          reverse: false
        })
          .showTips(true)
          .onChange((value: number, mode: SliderChangeMode) => {
            this.vInSetValue = value
            window.getLastWindow(getContext(), (err, data) => {
              const errCode = err.code;
              if (errCode) {
                console.log('window:', JSON.stringify(err))
                return;
              }
              data.setWindowBrightness(this.vInSetValue / 100);
              promptAction.showToast({
                message: "当前亮度: " + this.vInSetValue + '%'
              })
            })
          })
      }.width('50%').height('100%').justifyContent(FlexAlign.Center)
    }
    .width('100%')
  }
}

在HarmonyOS鸿蒙Next中,获取屏幕亮度可以通过DisplayManager类实现。具体步骤如下:

  1. 获取DisplayManager实例:

    import display from '[@ohos](/user/ohos).display';
    let displayManager = display.getDisplayManager();
    
  2. 获取默认的Display对象:

    let defaultDisplay = displayManager.getDefaultDisplay();
    
  3. 通过Display对象获取当前屏幕亮度:

    let brightness = defaultDisplay.brightness;
    

brightness即为当前屏幕亮度值,范围通常为0到255,0表示最暗,255表示最亮。

完整代码示例:

import display from '[@ohos](/user/ohos).display';

let displayManager = display.getDisplayManager();
let defaultDisplay = displayManager.getDefaultDisplay();
let brightness = defaultDisplay.brightness;

console.log(`当前屏幕亮度: ${brightness}`);

通过以上代码,可以获取到当前设备的屏幕亮度值。

在HarmonyOS鸿蒙Next中,可以通过DisplayManager类获取屏幕亮度。首先,使用DisplayManagergetDisplay()方法获取当前屏幕的Display对象,然后调用getBrightness()方法获取亮度值。代码示例如下:

DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
Display display = displayManager.getDisplay(Display.DEFAULT_DISPLAY);
int brightness = display.getBrightness();

brightness值范围为0到255,0表示最暗,255表示最亮。

回到顶部