Calvin-Huang / react-native-device-brightness

Screen brightness adjustment tool for ReactNative iOS and Android.
MIT License
49 stars 57 forks source link
android device-brightness ios react-native screen-brightness

react-native-device-brightness

npm version

Screen brightness adjustment tool for ReactNative iOS and Android.

Installation

npm install --save react-native-device-brightness

Recommended via yarn

yarn add react-native-device-brightness

Automatically link

With React Native 0.27+

react-native link react-native-device-brightness

With older versions of React Native

You need rnpm (npm install -g rnpm)

rnpm link react-native-device-brightness

Hey, bro! react-native-device-brightness wasn't support older version of React Native yet.

Manually link

iOS (without Cocoa Pods)

In XCode, in the project navigator:

In XCode, in the project navigator, select your project.

Run your project (Cmd+R)

(Thanks to @brysgo for writing the instructions)

Android

dependencies {
    ...
    compile "com.facebook.react:react-native:+"  // From node_modules
+   compile project(':react-native-device-brightness')
}
...
include ':app'
+ include ':react-native-device-brightness'
+ project(':react-native-device-brightness').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-brightness/android')

With React Native 0.29+

+ import com.learnium.RNDeviceInfo.RNDeviceInfo;

  public class MainApplication extends Application implements ReactApplication {
    //......

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+         new RNDeviceInfo(),
          new MainReactPackage()
      );
    }

    ......
  }

With older versions of React Native:

+ import com.learnium.RNDeviceInfo.RNDeviceInfo;

  public class MainActivity extends ReactActivity {
    ......

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+       new RNDeviceInfo(),
        new MainReactPackage()
      );
    }
  }

(Thanks to @chirag04 for writing the instructions)

Usage

Important: Brightness Level only accept value 0 to 1.

// It will throw a exception when value less than 0 or more than 1. DeviceBrightness.setBrightnessLevel(luminous); DeviceBrightness.getBrightnessLevel() .then(function (luminous) { // Get current brightness level // 0 ~ 1 console.log(luminous); }); // Android only DeviceBrightness.getSystemBrightnessLevel() .then(function (luminous) { // Get current brightness level // 0 ~ 1 console.log(luminous); });



## License
Copyright (c) [Calvin Huang](https://github.com/Calvin-Huang). This software is licensed under the [MIT License](https://github.com/Calvin-Huang/react-native-device-brightness/blob/master/LICENSE).