14、UI_02拨号盘动画
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拨号盘动画相关推荐
- QGIS 3.14|地震数据动画效果实战(二)动画设置篇
01 设置图层Temporal属性 在QGIS 3.14中,图层的属性对话框首次加入了 Temporal标签页,提供图层的时间设置. 右键点击[图层]面板中的"quake2020" ...
- QGIS 3.14|地震数据动画效果实战(三)进度条设置
在之前的版本中,QGIS对时间的处理是通过Time Manager插件实现的,QGIS 3.14将Temporal Controller引入软件整体框架之中,以原生的方式支持各类数据集对时间维度的处理 ...
- iOS之UIview动画
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...
- 视频专辑:轻松学习flash动画制作视频教程
为什么80%的码农都做不了架构师?>>> 1 1. flash的应用领域 [flash动画制作] 2013-10-30 23:26 | 播放(10) | 评论(0) | 时 ...
- html笔记(五)2D、3D、3D动画
大标题 小节 一.2D 1. css3 渐变的语法及应用 2. 动画过渡:transition 3. 2D转换属性:transform 二.3D 1. 3D转换 2. 3D视距 3. 3D翻转方法 4 ...
- html5 页面加载缓慢,html5体验优化页面加载的14条建议
html5体验优化页面加载的14条建议 1. fake 页 - 首屏加速 目标:首屏 3s 以内 因为 71% 的用户期望移动页面跟 pc 页面一样快 (3s) ,74% 的用户能容忍的响应时间为 5 ...
- Core Animation(核心动画)
iOS开发UI篇-核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量 ...
- iOS开发UI篇—核心动画(UIView封装动画)
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...
- cocos2dx动画Animation介绍
一.帧动画 你能够通过一系列图片文件,像例如以下这样,创建一个动画: [cpp] CCAnimation *animation = CCAnimation::create(); //从本 ...
- Unity3D-游戏ARVR开发进阶课程 - 动画系统-宋晓波-专题视频课程
Unity3D-游戏ARVR开发进阶课程 - 动画系统-10610人已学习 课程介绍 本套视频培训课程中会深入学习Unity中的Mecanim动画系统.包括动画剪辑.动画控制器.动画状 ...
最新文章
- 监听应用是否切到后台
- mysql查询今天_昨天_7天_近30天_本月_上一月 数据_mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
- [渝粤教育] 三江学院 软件测试 参考 资料
- twisted系列教程十七–用inlineCallbacks来管理callbacks
- 基于python的表情识别_python 实现表情识别
- vue怎么插入接口demo_vue项目如何设置接口
- 【文献阅读笔记】(1):一篇手把手教你做GWAS的Guideline文献解读
- oracle宿舍管理系统实训报告,学生宿舍管理系统_开题报告
- 【亲测】Ripro子主题美化X系列主题(夏系列)-开源未加密
- TypeError: __init__() takes 1 positional argument but 2 were given
- Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作
- 2019网络直播稳中有变:直播带货火出圈 5G带来弯道超车新机会
- Jinja2安装与基本API用法
- Python之人民币与美元的换算
- 《金匮要略》试卷二(A)
- HDFS文件的读写操作理论解析
- House of orange
- 《深入浅出4G网络 LTE_EPC》阅读笔记一
- Android动态修改icon
- vue源码(八)揭开数据响应系统的面纱