Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A realtime blurring overlay for Android (like iOS UIVisualEffectView)

License

NotificationsYou must be signed in to change notification settings

mmin18/RealtimeBlurView

Repository files navigation

It's just a realtime blurring overlay like iOS UIVisualEffectView.

IMG

Just put the view in the layout xml, no Java code is required.

// Views to be blurred<ImageView ../><com.github.mmin18.widget.RealtimeBlurViewandroid:layout_width="match_parent"android:layout_height="match_parent"app:realtimeBlurRadius="20dp"app:realtimeOverlayColor="#8000" />// Views above blurring overlay<Button ../>

Try the sample apk:blurring.apk

Adding to project

Add dependencies in yourbuild.gradle:

dependencies {    implementation'com.github.mmin18:realtimeblurview:1.2.1'}

Support API level < 19

The following step is only required if your minSdkVersion < 19, or you use renderscript support mode.

Both AndroidX and Android Support Library is supported.

android {buildToolsVersion'24.0.2'// Use 23.0.3 or higherdefaultConfig {minSdkVersion15renderscriptTargetApi19renderscriptSupportModeEnabledtrue// Enable RS support}}

Add proguard rules if necessary:

-keep class android.support.v8.renderscript.** { *; }-keep class androidx.renderscript.** { *; }

Limitations

  • Adding multiple RealtimeBlurView (even not visible) may hurt drawing performance, like use it in ListView or RecyclerView.

  • It will not work with SurfaceView / TextureView like VideoView, GoogleMapView

Performance

RealtimeBlurView use RenderScript to blur the bitmap, just like500px-android-blur.

Everytime your window draw, it will render a blurred bitmap, so there is a performance cost. Set downsampleFactor>=4 will significantly reduce the render cost. However, if you just want to blur a static view, 500px-android-blur is good enough.

I've run the sample on some old phones like Samsung Galaxy S2, Samsung Galaxy S3, it runs at full FPS. Here is a performance chart while scrolling the list on Nexus 5.

Nexus5

Changelog

1.2.1 (2019-05-24)

Improve BlurImpl detection.

1.2 (2019-05-22)

Support both AndroidX and Android Support Library.

1.1.2 (2018-05-28)

Bug fix (Draw overlay color in rect).

1.1.1 (2018-05-22)

Fix downsample factor issue when blur radius is very big.

1.1.0 (2017-01-02)

Some improvements (OOM, resize, window background)

1.0.8 (2016-11-29)

Fix view not refreshed issue on PopupWindow

1.0.6 (2016-11-7)

Fix crash when view is very small (draw at least 1px)

1.0.5 (2016-11-5)

Support Popup Window (Use it as dialog background)Ignore UnsatisfiedLinkError if APK is not debuggable.

1.0.4 (2016-9-28)

Support custom shape (by override drawBlurredBitmap()), support view in ContextThemeWrapper.

About

A realtime blurring overlay for Android (like iOS UIVisualEffectView)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp