diff --git a/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManager.java b/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManager.java index 7c2e1de..c1f34a3 100644 --- a/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManager.java +++ b/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManager.java @@ -65,4 +65,15 @@ class BlurViewManager extends ViewGroupManager { @ReactProp(name = "downsampleFactor", defaultInt = defaultSampling) public void setDownsampleFactor(BlurView view, int factor) {} + + @ReactProp(name = "autoUpdate", defaultBoolean = true) + public void setAutoUpdate(BlurView view, boolean autoUpdate) { + view.setBlurAutoUpdate(autoUpdate); + view.invalidate(); + } + + @ReactProp(name = "enabled", defaultBoolean = true) + public void setBlurEnabled(BlurView view, boolean enabled) { + view.setBlurEnabled(enabled); + } } diff --git a/src/components/BlurView.android.tsx b/src/components/BlurView.android.tsx index eac819e..e4ab05f 100644 --- a/src/components/BlurView.android.tsx +++ b/src/components/BlurView.android.tsx @@ -20,19 +20,26 @@ export type BlurViewProps = ViewProps & { blurRadius?: number; downsampleFactor?: number; overlayColor?: string; + enabled?: boolean; + autoUpdate?: boolean; }; const BlurView = forwardRef( - ({ - downsampleFactor, - blurRadius, - blurAmount = 10, - blurType = 'dark', - overlayColor, - children, - style, - ...rest - }, ref) => { + ( + { + downsampleFactor, + blurRadius, + blurAmount = 10, + blurType = 'dark', + overlayColor, + enabled, + autoUpdate, + children, + style, + ...rest + }, + ref + ) => { useEffect(() => { DeviceEventEmitter.addListener('ReactNativeBlurError', (message) => { throw new Error(`[ReactNativeBlur]: ${message}`); @@ -88,6 +95,8 @@ const BlurView = forwardRef( overlayColor={getOverlayColor()} blurAmount={blurAmount} blurType={blurType} + enabled={enabled} + autoUpdate={autoUpdate} pointerEvents="none" style={StyleSheet.compose(styles.transparent, style)} >