{"id":15034448,"url":"https://github.com/mmin18/realtimeblurview","last_synced_at":"2025-05-15T05:07:49.885Z","repository":{"id":37425743,"uuid":"68833911","full_name":"mmin18/RealtimeBlurView","owner":"mmin18","description":"A realtime blurring overlay for Android (like iOS UIVisualEffectView)","archived":false,"fork":false,"pushed_at":"2023-12-05T04:55:08.000Z","size":10806,"stargazers_count":3270,"open_issues_count":36,"forks_count":356,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-05-15T05:07:41.219Z","etag":null,"topics":["android","realtimeblurview"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmin18.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-21T15:59:51.000Z","updated_at":"2025-05-15T03:10:47.000Z","dependencies_parsed_at":"2024-08-02T01:16:46.840Z","dependency_job_id":"03f2b3f5-96cd-48d8-a23c-adfbdf746ce2","html_url":"https://github.com/mmin18/RealtimeBlurView","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmin18%2FRealtimeBlurView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmin18%2FRealtimeBlurView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmin18%2FRealtimeBlurView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmin18%2FRealtimeBlurView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmin18","download_url":"https://codeload.github.com/mmin18/RealtimeBlurView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254276447,"owners_count":22043867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","realtimeblurview"],"created_at":"2024-09-24T20:25:03.804Z","updated_at":"2025-05-15T05:07:44.865Z","avatar_url":"https://github.com/mmin18.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RealtimeBlurView\n\nIt's just a realtime blurring overlay like iOS UIVisualEffectView.\n\n![IMG](imgs/1.gif)\n\nJust put the view in the layout xml, no Java code is required.\n\n\t// Views to be blurred\n\t\u003cImageView ../\u003e\n\t\n\t\u003ccom.github.mmin18.widget.RealtimeBlurView\n\t\tandroid:layout_width=\"match_parent\"\n\t\tandroid:layout_height=\"match_parent\"\n\t\tapp:realtimeBlurRadius=\"20dp\"\n\t\tapp:realtimeOverlayColor=\"#8000\" /\u003e\n\t\n\t// Views above blurring overlay\n\t\u003cButton ../\u003e\n\nTry the sample apk: [blurring.apk](imgs/blurring.apk)\n\n# Adding to project\n\nAdd dependencies in your `build.gradle`:\n\n```groovy\n\tdependencies {\n\t    implementation 'com.github.mmin18:realtimeblurview:1.2.1'\n\t}\n```\n\n## Support API level \u003c 19\n\nThe following step is only required if your minSdkVersion \u003c 19, or you use renderscript support mode.\n\nBoth AndroidX and Android Support Library is supported.\n\n```groovy\n\tandroid {\n\t\tbuildToolsVersion '24.0.2'                 // Use 23.0.3 or higher\n\t\tdefaultConfig {\n\t\t\tminSdkVersion 15\n\t\t\trenderscriptTargetApi 19\n\t\t\trenderscriptSupportModeEnabled true    // Enable RS support\n\t\t}\n\t}\n```\n\nAdd proguard rules if necessary:\n\n```\n-keep class android.support.v8.renderscript.** { *; }\n-keep class androidx.renderscript.** { *; }\n```\n\n# Limitations\n\n- Adding multiple RealtimeBlurView (even not visible) may hurt drawing performance, like use it in ListView or RecyclerView.\n\n- It will not work with SurfaceView / TextureView like VideoView, GoogleMapView\n\n# Performance\n\nRealtimeBlurView use RenderScript to blur the bitmap, just like [500px-android-blur](https://github.com/500px/500px-android-blur).\n\nEverytime your window draw, it will render a blurred bitmap, so there is a performance cost. Set downsampleFactor\u003e=4 will significantly reduce the render cost. However, if you just want to blur a static view, 500px-android-blur is good enough.\n\nI'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.\n\n![Nexus5](imgs/2.png)\n\n# Changelog\n\n### 1.2.1 (2019-05-24)\n\nImprove BlurImpl detection.\n\n### 1.2 (2019-05-22)\n\nSupport both AndroidX and Android Support Library.\n\n### 1.1.2 (2018-05-28)\n\nBug fix (Draw overlay color in rect).\n\n### 1.1.1 (2018-05-22)\n\nFix downsample factor issue when blur radius is very big.\n\n### 1.1.0 (2017-01-02)\n\nSome improvements (OOM, resize, window background)\n\n### 1.0.8 (2016-11-29)\n\nFix view not refreshed issue on PopupWindow\n\n### 1.0.6 (2016-11-7)\n\nFix crash when view is very small (draw at least 1px)\n\n### 1.0.5 (2016-11-5)\n\nSupport Popup Window (Use it as dialog background)\nIgnore UnsatisfiedLinkError if APK is not debuggable.\n\n### 1.0.4 (2016-9-28)\n\nSupport custom shape (by override drawBlurredBitmap()), support view in ContextThemeWrapper.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmin18%2Frealtimeblurview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmin18%2Frealtimeblurview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmin18%2Frealtimeblurview/lists"}