自定义高斯模糊"Dialog",使用起来只需要new and show
2016-07-30 22:02
253 查看
转载请注明出处:王亟亟的大牛之路
先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android礼拜1做的一个功能里美工大姐姐需要显示一个点击弹窗+iOS形式的背景虚化的View,公司原有的高斯模糊 Dialog不能满足要求(确切的说是我用的不顺手,然后就手写了一个PopWindows来实现类似效果)
之前想在git上搜一个成品Copy进去结果搜到的是这样
除了那个一年前我在老文章里举例子说到的那个高斯模糊处理的库之外别的star多的第三方库并没有,那正好这周末不太想摸RN的东西,那就造个轮子吧。
先贴下运行效果(因为代码保密问题,不方便贴项目里的实现,看例子意淫下吧)
怎么用这里贴下,尽量做到大家好用
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new BlurPopWin.Builder(MainActivity.this).setContent("该配合你演出的我,眼视而不见,在比一个最爱你的人即兴表演") //Radius越大耗时越长,被图片处理图像越模糊 .setRadius(3).setTitle("我是标题") //设置居中还是底部显示 .setshowAtLocationType(0) .onClick(new BlurPopWin.PopupCallback() { @Override public void onClick(@NonNull BlurPopWin blurPopWin) { Toast.makeText(MainActivity.this, "中间被点了", Toast.LENGTH_SHORT).show(); blurPopWin.dismiss(); } }).show(btn); } }); } }
不需要初始化,直接拿来用,已经做了Pop部分的全局的点击事件,然后就是各种set,这部分的解释准备拿到git的md文件,实现大致概念说下:
这是一个PopupWindow,然后背景是动态截取屏幕内容,然后做的高斯模糊处理,再设置为Pop后的的背景,整体的dismiss逻辑是重写onTouch实现的。
注:
图像处理时间根据你的锐化程度的增加而增加 正常的处理时间在 100MS上下(我测了10来次),建议3-10就可以了,再大后面就是一片白。
怎么使用以及源码就看git吧 给出地址:
https://github.com/ddwhan0123/BlurPopupWindow
有BUG可以iss提或者扫下面微信我
公共Maven库我会在二次更新后去申请,这一版本就不弄了
下个版本会加入Pop的 CustomView和更多的设置功能,大家想要加什么也可以跟我提。
相关文章推荐
- 自定义高斯模糊"Dialog",使用起来只需要new and show
- 【Android UI】自定义圆形SeekBar和自定义Dialog的结合使用
- showModelDialog的使用(一)
- showModelDialog的使用(二):提供下载功能
- 使用软引用解决Handler内存泄露和显示Popupwindow、Dialog时提示"Unable to add Window-token is null"的问题
- 在Java中,如何把一个程序的结果需要保存起来,供下一个程序使用的方式
- 使用自定义透明Dialog样式的Activity
- 表单基本组件使用2(showMessageDialog和showConfirmDialog)
- 自定义布局对话框的使用(Dialog)
- Dialog自定义样式及使用笔记
- android中自定义dialog的使用方法简介
- 自定义dialog的方式,以及需要注意事项
- html中,文件上传时使用的<input type="file">的样式自定义
- Presentation与自定义Dialog的使用
- Android实现可使用自定义透明Dialog样式的Activity完整实例
- 使用hide和show方法来实现fragment的切换时当需要fragment重新刷新
- ListFragment 使用ListView and 自定义Adapter(转载)
- 自定义Dialog,view根据需要自定义填充
- 使用控件/Dialog时提示"未声明标识符"的解决方法
- Android使用Builder模式自定义Dialog