@fidme/react-native-device-brightness
v1.3.1
Published
Screen brightness adjustment tool for ReactNative iOS and Android.
Downloads
25
Readme
@fidme/react-native-device-brightness
Screen brightness adjustment tool for ReactNative iOS and Android.
Installation
npm install --save @fidme/react-native-device-brightness
Recommended via yarn
yarn add @fidme/react-native-device-brightness
Automatically link
With React Native 0.27+
react-native link @fidme/react-native-device-brightness
With older versions of React Native
You need rnpm (npm install -g rnpm)
rnpm link @fidme/react-native-device-brightness
Hey, bro! @fidme/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:
- Right click Libraries
- Add Files to [your project's name]
- Go to
node_modules/@fidme/react-native-device-brightness
- Add the
.xcodeproj
file
In XCode, in the project navigator, select your project.
- Add the
libRNDeviceInfo.a
from the deviceinfo project to your project's Build Phases ➜ Link Binary With Libraries - Click
.xcodeproj
file you added before in the project navigator and go the Build Settings tab. Make sure All is toggled on (instead of Basic). - Look for Header Search Paths and make sure it contains both
$(SRCROOT)/../react-native/React
and$(SRCROOT)/../../React
- Mark both as recursive (should be OK by default).
Run your project (Cmd+R)
(Thanks to @brysgo for writing the instructions)
Android
- in
android/app/build.gradle
:
dependencies {
...
compile "com.facebook.react:react-native:+" // From node_modules
+ compile project(':@fidme/react-native-device-brightness')
}
- in
android/settings.gradle
:
...
include ':app'
+ include ':@fidme/react-native-device-brightness'
+ project(':@fidme/react-native-device-brightness').projectDir = new File(rootProject.projectDir, '../node_modules/@fidme/react-native-device-brightness/android')
With React Native 0.29+
- in
MainApplication.java
:
+ 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:
- in
MainActivity.java
:
+ 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.
- Adjusting screen brightness will make iOS's Auto-Brightness function do nothing.
- Adjusting screen brightness in Android only works in App and will reset to system setting exiting App.
// ES5
var DeviceBrightness = require("@fidme/react-native-device-brightness");
// or ES6
// import DeviceBrightness from '@fidme/react-native-device-brightness';
// 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. This software is licensed under the MIT License.