UI_02拨号盘动画

最近看到拨号盘的变形动画比较有意思,所以自己动手试试。

一、需要考虑的问题:

1、拨号盘可能会有单卡机型,双卡机型,还会有视频通话,多人会话等。要考虑到全部都兼容的情况。

2、用图片背景变形,有阴影效果的话,图片位置需要微调。(比较繁琐,自己调)

3、用颜色做背景,颜色渐变,圆角。

4、局部动画与整体动画。

二、好啦不多说,直接上代码:

变形动画:

        //step1ValueAnimator widthAnimation = ValueAnimator.ofInt(fromWidth, toWidth);widthAnimation.setDuration(duration/2);widthAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {deformationLayout(animation, fromWidth, toWidth);}});

变形:

    private void deformationLayout(ValueAnimator animation, int fromWidth, int toWidth) {int leftOffset;int rightOffset;int targetWidth;int targetHeight;if (fromWidth > toWidth) {targetWidth = fromWidth;targetHeight = toWidth;} else {targetWidth = toWidth;targetHeight = fromWidth;}int value = (Integer) animation.getAnimatedValue();leftOffset = (targetWidth - value) / 2;rightOffset = targetWidth - leftOffset;mBackgroundDrawable.setBounds(leftOffset, 0, rightOffset, targetHeight);mBackgroundDrawable.invalidateSelf();}

三、项目地址:

https://github.com/wch0620/DialpadAnimation

三、效果图

14、UI_02拨号盘动画相关推荐

  1. QGIS 3.14|地震数据动画效果实战(二)动画设置篇

     01 设置图层Temporal属性 在QGIS 3.14中,图层的属性对话框首次加入了 Temporal标签页,提供图层的时间设置. 右键点击[图层]面板中的"quake2020" ...

  2. QGIS 3.14|地震数据动画效果实战(三)进度条设置

    在之前的版本中,QGIS对时间的处理是通过Time Manager插件实现的,QGIS 3.14将Temporal Controller引入软件整体框架之中,以原生的方式支持各类数据集对时间维度的处理 ...

  3. iOS之UIview动画

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  4. 视频专辑:轻松学习flash动画制作视频教程

    为什么80%的码农都做不了架构师?>>>    1   1. flash的应用领域 [flash动画制作] 2013-10-30 23:26 | 播放(10) | 评论(0) | 时 ...

  5. html笔记(五)2D、3D、3D动画

    大标题 小节 一.2D 1. css3 渐变的语法及应用 2. 动画过渡:transition 3. 2D转换属性:transform 二.3D 1. 3D转换 2. 3D视距 3. 3D翻转方法 4 ...

  6. html5 页面加载缓慢,html5体验优化页面加载的14条建议

    html5体验优化页面加载的14条建议 1. fake 页 - 首屏加速 目标:首屏 3s 以内 因为 71% 的用户期望移动页面跟 pc 页面一样快 (3s) ,74% 的用户能容忍的响应时间为 5 ...

  7. Core Animation(核心动画)

    iOS开发UI篇-核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量 ...

  8. iOS开发UI篇—核心动画(UIView封装动画)

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  9. cocos2dx动画Animation介绍

     一.帧动画 你能够通过一系列图片文件,像例如以下这样,创建一个动画: [cpp]   CCAnimation *animation = CCAnimation::create();   //从本 ...

  10. Unity3D-游戏ARVR开发进阶课程 - 动画系统-宋晓波-专题视频课程

    Unity3D-游戏ARVR开发进阶课程 - 动画系统-10610人已学习 课程介绍         本套视频培训课程中会深入学习Unity中的Mecanim动画系统.包括动画剪辑.动画控制器.动画状 ...

最新文章

  1. 监听应用是否切到后台
  2. mysql查询今天_昨天_7天_近30天_本月_上一月 数据_mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
  3. [渝粤教育] 三江学院 软件测试 参考 资料
  4. twisted系列教程十七–用inlineCallbacks来管理callbacks
  5. 基于python的表情识别_python 实现表情识别
  6. vue怎么插入接口demo_vue项目如何设置接口
  7. 【文献阅读笔记】(1):一篇手把手教你做GWAS的Guideline文献解读
  8. oracle宿舍管理系统实训报告,学生宿舍管理系统_开题报告
  9. 【亲测】Ripro子主题美化X系列主题(夏系列)-开源未加密
  10. TypeError: __init__() takes 1 positional argument but 2 were given
  11. Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作
  12. 2019网络直播稳中有变:直播带货火出圈 5G带来弯道超车新机会
  13. Jinja2安装与基本API用法
  14. Python之人民币与美元的换算
  15. 《金匮要略》试卷二(A)
  16. HDFS文件的读写操作理论解析
  17. House of orange
  18. 《深入浅出4G网络 LTE_EPC》阅读笔记一
  19. Android动态修改icon
  20. vue源码(八)揭开数据响应系统的面纱

热门文章

  1. WERTYU UVA - 10082
  2. 如何分析留存率?(案例:留存率堆积直方图+留存率下降分析)
  3. Flutter - 图片/视频选择器(支持拍照及录制视频)
  4. html lang=zh-cn解决Mac版Firefox中文字体显示问题
  5. JavaSrcipt学习(学习打卡Day4)
  6. 苏宁易购:前后端分离架构的落地思考
  7. ubuntu安装的微信不能发送图片
  8. 牛客IOI周赛20-普及组
  9. 实验二 SQL Server数据查询
  10. 宇言(四):关于时间循环