Merge pull request #173 from ndbroadbent/android-fix

Fixed Android
This commit is contained in:
Alexey 2017-04-11 10:00:33 +02:00 committed by GitHub
commit e558b16b5b
3 changed files with 36 additions and 8 deletions

View File

@ -28,7 +28,16 @@ Check the [roadmap here](https://github.com/Kureev/react-native-blur/issues/1)
3. (Android only) Add the following to your `android/app/build.gradle`
`android/build.gradle`
```
```
buildscript {
dependencies {
// Update "Android Plugin for Gradle" version
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
// ...
allprojects {
repositories {
maven { url 'https://github.com/500px/500px-android-blur/raw/master/releases/' }
@ -41,6 +50,21 @@ Check the [roadmap here](https://github.com/Kureev/react-native-blur/issues/1)
dependencies {
compile 'com.fivehundredpx:blurringview:1.0.0'
}
android {
defaultConfig {
// Add these to the existing config
renderscriptTargetApi 23
renderscriptSupportModeEnabled true
}
}
```
`android/gradle/wrapper/gradle-wrapper.properties`
```
// Update Gradle version
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
```
4. Inside your code include JS part by adding

View File

@ -34,6 +34,6 @@ repositories {
}
dependencies {
compile 'com.facebook.react:react-native:0.19.+'
compile 'com.facebook.react:react-native:0.41.+'
compile 'com.fivehundredpx:blurringview:1.0.0'
}

View File

@ -1,5 +1,6 @@
package com.cmcewen.blurview;
import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
@ -14,6 +15,8 @@ public class BlurViewManager extends SimpleViewManager<BlurringView> {
public static final int defaultRadius = 10;
public static final int defaultSampling = 10;
private static Activity currentActivity;
@Override
public String getName() {
return REACT_CLASS;
@ -21,6 +24,8 @@ public class BlurViewManager extends SimpleViewManager<BlurringView> {
@Override
public BlurringView createViewInstance(ThemedReactContext context) {
currentActivity = context.getCurrentActivity();
BlurringView blurringView = new BlurringView(context);
blurringView.setBlurRadius(defaultRadius);
blurringView.setDownsampleFactor(defaultSampling);
@ -44,12 +49,11 @@ public class BlurViewManager extends SimpleViewManager<BlurringView> {
@ReactProp(name = "viewRef")
public void setViewRef(BlurringView view, int viewRef) {
ViewGroup viewGroup = (ViewGroup) view.getRootView().findViewById(viewRef);
if (viewGroup != null) {
View v = viewGroup.getChildAt(0);
view.setBlurredView(v);
View blurredView = currentActivity.findViewById(viewRef);
if (blurredView != null) {
view.setBlurredView(blurredView);
view.invalidate();
}
}
}