在某个版本更新时, UI要求弹出选项框类似于下面的效果:

对, 就是qq这种弹出方式, 而UI给的效果图实际是这样的:

恩, 我们UI的审美认为下面加一层模糊效果会比较好看, 我看了之后认为没什么问题, 就是多了一层模糊效果而已, 但做到后面才发现有的很大的坑在等我. 首先我做出来的自定义view是希望全局只要调一个方法就可以用的, 就像popupwindow那样, 所以我的思路是初始化整个布局, 然后以Toast的方式添加到屏幕最前端. 所以第一步: 初始化整个弹窗布局

第二步: 这里比较重要了, 当点击button, 弹出选项框的时候, 具体做哪些事情

到这里我们所有操作就都完成了 大家是不是感觉很简单, 嘿嘿嘿, 最难的坑其实是模糊图片那里, 因为我们是当用户点击弹出按钮的时候动态模糊的, 所以效率就很重要, 下面是我对activity视图bitmap的处理:

当用户点下按钮时,我们需要立刻就将模糊后的图片显示出来, 下面是我的模糊图片代码:

android里面的高斯模糊我大概总结了一下 基本有三种, 优缺点都有, 我用的是系统推荐的, 速度比较快,而且也简单, 但只能支持android版本17以上, 但现在手机用android4.2以下的估计也很少了.

第二种就是利用glide自定义类继承BitmapTransformation来实现在加载图片时模糊图片,但和第一种差不多,也要android版本17以上才能用 第三种就是用java层的代码, 手动算出像素值, 因为图片处理的代码逻辑都是用java实现的, 所以效率极差, 不推荐. 最后在说一下那个弹出蠕动的动画, 很简单20行代码就ok了, 我是用属性动画写的, 让弹窗view的宽和高的规模从0到1, 然后在从1到0.95, 这样就造成了一个弹出的动态效果, 很easy吧

大功告成出来的效果就是这样的啦

android qq弹窗,Android开发比QQ更炫酷的'选项弹窗'动画相关推荐

  1. android 按键会触发ontouch吗?_Android实现炫酷的拖拽浮动按钮

    IOS的Assistive Touch效果很炫酷,可以任意拖拽,同时点击后会展开菜单栏.然而,这不只是IOS的特权,Android也可以实现.但是由于悬浮窗需要申请权限,所以本文仅在app内实现,可以 ...

  2. 仿网易/QQ空间视频列表滚动连播炫酷效果

    代码地址如下: http://www.demodashi.com/demo/11201.html 一.准备工作 AndroidStudio 开发环境 需要下载七牛的开源播放器SDK 本例子实现了仿网易 ...

  3. 【源码共享】我花2小时写了微信官网的响应式布局HTML+CSS 换成旅行主题风格更炫酷了

    微信官网仿写效果 ↑ 移动端响应式效果 ↑ 微信官网首页,简约干净,能学习写好这个首页,就能掌 握HTML网页设计前端盒子的布局.嵌套,及css效果的 使用... 微信官网首页主要有以下几个需要关注的 ...

  4. excel不能插入activex控件_办公小技巧:制作更炫酷的Excel下拉菜单

    在Excel中制作下拉菜单,大都是利用数据有效性,再有就是表单控件中的组合框.数据有效性或表单控件组合框制作下拉菜单,快捷.便利.实用.功能很全面,但也有力所不及的地方,比如设置下拉菜单的字体.颜色. ...

  5. Cocos游戏引擎3D特效全新升级 更流畅更炫酷

    好莱坞大片一度是各大院线叫座又叫好的劲爆卖点,其炫酷劲爽的影视特效是尤为重要的一个因素.对于手游来说,精细流畅而又动感十足的特效亦是如此.Cocos 2d-x 3.x从3.4 beta0版本开始开启了 ...

  6. 让你的网站更炫酷的一些小 tips

    本文讲的是让你的网站更炫酷的一些小 tips, 上周,我和一位老客户聊天,她说:"尼克,我觉得我的网站需要改进,但我不能确定我具体需要做什么." 然后我就去问了一圈,包括朋友.家人 ...

  7. 用 Python 给程序加个进度条,让你的程序看起来更炫酷

    你好,我是天作. 最近,我真的好丧.一些有截止日期的事情,都是拖到Deadline的前一天才草草了事:对于那些没有截至日期的事情,更是仅仅存在脑子里,徒增了焦虑,却迟迟没有动手. 不幸中的万幸,我渐渐 ...

  8. 还在用Navicat?这款开源的数据库管理工具界面更炫酷!

    数据库管理工具,是后端程序员使用频率非常高的的工具.Navicat.DataGrip虽然很好用,但都是收费的.最近在逛Github的时候,无意间发现了一款开源的数据库管理工具Beekeeper Stu ...

  9. 玩转Android之MVVM开发模式实战,炫酷的DataBinding!

    原文:http://blog.csdn.net/u012702547/article/details/52077515 ---------------------------------------- ...

最新文章

  1. React 开始制作 6
  2. windows xp开机音乐7秒_(老旧电脑的福音)win 10 ltsb2015开机只要7秒
  3. 在用户控件中弹出消息框的方法
  4. python菜鸟工具-终于清楚python菜鸟入门教程
  5. 2030年,逾1亿中国人需要学习新技能并转换岗位,这就是摩擦性失业
  6. 数据库系统概念总结:第十二、十三章 查询处理和查询优化
  7. dice系数什么意思_轮胎上的数字和字母是什么意思 轮胎上的红点黄点是什么意思...
  8. java servlet 多线程_java – 多线程GAE servlet来处理并发用户
  9. setTimeOut函数传参数
  10. 区块链企业级解决方案 ( Hyperledger )
  11. 在websphere部署完war包后出现com.ibm.ws.jsp.JspCoreException: JSPG0218E异常
  12. Linux 性能监测
  13. Hibernate初学者教程
  14. spring_boot的logback-spring.xml配置为什么 %d{yyyy-MM-dd} 不起作用
  15. Nginx 重写规则指南
  16. springboot与docker整合
  17. 计算机电池功能,蓄电池检测仪的主要功能都有哪些
  18. spring学习--基于注解方式创建对象AOP
  19. Visual Studio Code中设置HTML/HTML5模板
  20. hive percentile_approx原理

热门文章

  1. 全球及中国人工智能边缘设备行业运营现状与期间规划动向预测报告2022-2028年版
  2. go walk 开发window界面,上传文件到阿里云oss -- 服务器端
  3. Linux中修改终端登录欢迎界面
  4. Android使用lame将PCM文件转码为MP3文件
  5. oracle awr详解
  6. 【12】Caffe学习系列:训练和测试自己的图片
  7. Android超长图片展示
  8. batch_size的含义
  9. 未转变者空投指令服务器,未转变者指令 有没有 给个答案
  10. 10 判断素数 (10分)