realTimeBlurView2

一个实时高斯模糊方案,支持任意图形,(只要你能画出来)任意覆盖色。

github上也有高斯模糊的方案,但不是实时的,原理上是截取背景图的一个cacheView,然后对这个cacheView进行高斯模糊,再设置成view的背景。所以一旦更改了需要高斯模糊的图,高斯模糊的效果却还是上一张的,该方案也可以达到实时效果,但是性能GG,要对view不断取cacheView,再创建新的bitmap,危险系数高,而我这个是实时更新的,利用canvas的层级这一原理,不用过多的进行bitmap操作

性能上个人觉得还可以吧,如果你觉得卡,可以设置一下RealtimeBlurView_realtimeDownsampleFactor 默认是4 ,值大的话卡顿效果会好一点 原理就是在创建bitmap时候并不是创建实际大小的,而是会先缩放,再高斯模糊,再放大,这样性能会更好

支持高斯模糊覆盖色 RealtimeBlurView_realtimeOverlayColor 圆角模式 圆形模式 任意模式

Jcenter

Add it in your root build.gradle at the end of repositories:

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

Step 2. Add the dependency

dependencies {

implementation 'com.github.nbwzlyd:realTimeBlurView2:v0.1'

}

Maven

jitpack.io

https://jitpack.io

Step 2. Add the dependency

com.github.nbwzlyd

realTimeBlurView2

v0.1

使用方法很简单,在你需要高斯模糊的图上,像布局一样写就行了

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context=".MainActivity">

android:id="@+id/RecyclerView"

android:layout_width="match_parent"

android:layout_height="match_parent" />

android:layout_marginTop="10dp"

android:id="@+id/RealtimeBlurView"

android:layout_width="300dp"

android:layout_height="150dp"

android:layout_centerHorizontal="true"/>

android:id="@+id/RoundCornerBlurView"

android:layout_width="match_parent"

android:layout_marginRight="10dp"

android:layout_marginLeft="10dp"

android:layout_height="150dp"

android:layout_below="@id/RealtimeBlurView"

android:layout_centerHorizontal="true"

android:layout_marginTop="40dp"

app:realtimeBlurRoundCornerRadius="6dp"

app:realtimeOverlayColor="#5a4B0082"/>

如果你觉得这样性能不好,你可以单独设置要高斯模糊的图片,利用bindView(View targetView)方法,(记得屏蔽onAttachedToWindow)

public RealtimeBlurView bindView(View targetView) {

mTargetView = targetView;

post(new Runnable() {

@Override

public void run() {

mTargetView.getViewTreeObserver().addOnPreDrawListener(mBlurPreDrawListener);

}

});

return this;

}

用FastBlur实现,兼容性上没问题,性能上,看你的设置了 realtimeBlurRadius 和realtimeDownsampleFactor

其中realtimeBlurRadius不要超过25。 我自己测试,模糊也就几毫秒的时间,很不错了。 鄙人不太喜欢写库也没能力写很牛逼的库,代码写的都很简单。人人都能看懂 我也是参考的github上大神的代码,做了适度精简,替换了renderscript方案,采用fastBlur,兼容性好,逻辑更清晰,但是健壮性就差很多了,拿来自己用,bug也好修复。

android高斯模糊xml,realTimeBlurView2 一个实时高斯模糊方案,支持任意图形(只要你能画出来)任意覆盖色...相关推荐

  1. xml解析 只有节点属性 android,and android:解析xml,一个节点标签中,有多个属性,怎样解析?...

    定义好对象关系的类. 解析以Course为例子 public static List getCourseList(InputStream stream){ List list=new ArrayLis ...

  2. android 实时高斯模糊 毛玻璃效果

    在找遍了网上所有关于实时高斯模糊的效果,并没有直接现成的例子,所以自己东拼西凑,在加上自己的改动,终于实现出来了 如图: 本示例是在ConvenientBanner这个开源库demo上改的,自己写一个 ...

  3. 一个实时显示系统时钟的android应用

    这是一个实时显示时钟的应用. 主要点:①如何用方法将数字的每一位拆开:②思考哪些部分是需要循环执行的:③使用了计时器Timer类和Handler类. 实时时钟主要是思路是.获取系统的时间,然后将这个时 ...

  4. Android 从零开发一个简易的相机App

    本文介绍了实现一个简易Android相机App过程中,遇到的一些问题,对Camera API的选型.通知相册更新.跳转相册.左右滑动界面切换拍照/录像,相机切换时候的高斯模糊虚化效果.相机切换的3D效 ...

  5. Android实践:做一个可视频交互的智能小车

    本文的三位作者正阳.海洋.阿力,是来自不同公司的工程师,在Agora RTC Hack 上海站编程马拉松上,开发了一款可实时视频远程看房的智能小车.本文将从方案设计.硬件开发.Android 端开发. ...

  6. 为什么Android项目mainactivity中有一个变量R_博客笔记大汇总,Android优化总结篇

    博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并 ...

  7. Android桌面组件开发之实时文件夹(Live_Folders)

    转自:http://zhangkun716717-126-com.iteye.com/blog/813059 实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创 ...

  8. Android集成GMS服务及GMS认证方案

    如果产品要出到国外,特别是欧美,那么极大可能需要集成GMS并进程GMS认证. 这里有三种情况: 1.特殊定制化设备,Android只是一个平台,所有业务全部都是自己的App实现的,服务器也是自己的.中 ...

  9. 给Android虚拟机AVD加一个虚拟内存卡

    给Android虚拟机AVD加一个虚拟sdcard 在写音乐播放器的时候,不想把每次写好的APK装到手机中来运行,个人感觉挺麻烦的,就想着在我的AVD里面放几首音乐进去,这样测试比较方便,但是通过DD ...

最新文章

  1. 火爆 GitHub!这个 AI 神器究竟有什么魅力?
  2. LINUX学习笔记高度浓缩版之一 :用户管理、启动过程、硬盘管理
  3. OSPF LSA序列号问题
  4. GIS-009-Cesium 使用
  5. kotlin 和java 混编
  6. 201521123050 《Java程序设计》第8周学习总结
  7. c语言程序转python_C语言程序转换为Python语言
  8. Linux命令大全.pdf
  9. [译] 移动应用设计新趋势
  10. 替代之忧:只有惶者才有可能成为王者
  11. 强化学习系列(二):Multi-armed Bandits(多臂老虎机问题)
  12. 计算机组成原理实验箱教程,计算机组成原理实验箱的技术参数和性能指标
  13. 云计算 基础服务 iscsi 实现
  14. sharepoint文件夹本地同步_急人!在家急用办公资料,其实win10系统自带多台电脑同步功能...
  15. 康拓普:数据可视化如何让大数据更加人性化?
  16. 浏览器缓存知识+JS实现缓存
  17. KRPANO在线下载720yun场景图片,快速下载高清全景图
  18. 安徽农村信用社网银转账显示服务器无响应,农村信用社企业网银转账显示状态无效是怎么回事...
  19. 【Three.js入门】纹理加载进度、环境贴图、经纬线映射贴图与高动态范围成像HDR
  20. 计算机软件系统框架中,c/s与b/s的英文是,C/S与B/S两种软件体系结构

热门文章

  1. 互联网与能源互联网的关系
  2. 知网查重检测出来的报告为什么只有2个文档?
  3. java.time.TemporalAmount详解
  4. android缅甸语,Android 泰语、缅甸语等复杂语言圈圈问题
  5. 数组属于一种原生类_这种材质属于国标红木的红酸枝木类,很有潜在的一种材质...
  6. 学校内部的计算机网络通,浙江大学远程教育第六章[1].计算机网络基础答案
  7. plc是一种工业控制用的专用计算机,PLC(可编程控制器)与MC(微机)控制的区别
  8. Web安全-检测-CSRF
  9. 触控笔哪个牌子好用?口碑很好的触控笔推荐
  10. 微服务权限终极解决方案(spring-cloud-gateway-oauth2)