位置: 编程技术 - 正文

Android 应用的动画实践--View Animation篇(android的动画有哪些?)

编辑:rootadmin
前言

推荐整理分享Android 应用的动画实践--View Animation篇(android的动画有哪些?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 移动应用基础教程,android的动画有哪些?,android移动应用,android的动画有哪些?,android 应用启动动画,android移动应用,android 应用启动动画,android移动应用,内容如对您有帮助,希望把文章链接给更多的朋友!

尝试搜索了一下android 动画的中文资料,很多都是一些枯燥的翻译api的一些文档,很少有系统讲解如何利用动画开发一个应用的资料,忽然,发现很多应用也不怎么注重动画在app的应用,想了想,自己尝试总结一下吧。因为,本人也不是什么动画制作师,没法把动画做得很绚丽,只好,利用内置的效果,进行简单加工,如何发挥,由各位的创意来定。鉴于,很多有关的android的动画资料里面,都是堆代码的,所以,全部代码均放在了github上面,查看完整代码可以移步到github上面去。

特地说明一下,由于android 模拟器和录制工具的原因,例子展示中的gif 的抽筋播放效果不等同于实际效果,自己脑补把抽筋的部分去掉

android 动画基础

在Android 里你能够使用的动画效果:

平移

缩放

旋转

透明

以上动画的基本使用就是本文的内容了。由于,本人的能力问题,实在搞不出让人&#;前一亮的动画,就凑合着看着吧。不过,那些令人赞叹的动画效果的基础就是这些。

Interpolators(插&#;器)

一般而言,要做动画的,需要封装点物理公式,用作为计算帧与帧间的数&#;计算,不过,如果,只是,为了搞些动画让app好用一些,倒不需要搞得这么复杂,android 官方api 已经封装好了一些常用的动画插&#;器。

默认内置7种类型的插&#;器,个人觉得,如果只是应用里面的一些动画的话这7个就够用了。

AccelerateInterpolator

加速

Decelerate

减速

AccelerateDecelerateInterpolator

开始,和结尾都很慢,但是,中间加速

AnticipateInterpolator

开始向后一点,然后,往前抛

OvershootInterpolator

往前抛超过一点,然后返回来

AnticipateOvershootInterpolator

开始向后一点,往前抛过点,然后返回来

BounceInterpolator

结束的时候弹一下

LinearInterpolator

匀速

以上动画都源自android官方api demo,用eclipse adt android 选择例子项目导航,然后,选择APIDEMOS 就能创建(什么没听说过?现在知道了吧。。。)

好了,虽然截取的gif 动画播放起来有点抽筋的感觉,接下来我们该如何在应用中使用这些知识呢?

组合动画

目前讲解动画api 的资料比较多,这里就不在重复那些基础的知识了!

现在让我们学习一下,如何利用,平移,缩放,旋转创造出让人&#;前一亮的动画.

为了,更有目的的使用动画,下面假想一个使用场景。

假想:商品购物车案例

Notice :为了方便看效果,动画延时时间将会设置的比较长。特地说明一下:假想就是随便想,切勿对号入座。

任务:

为了,让商城app有更好的交互效果,决定对购物车控件和商品控件上面加一些动画效果。

购物车动画设计方案:

利用,透明,平移,对购物车的出现和离开增加动画交互效果。

经过一番努力效果如下(凑合着看吧。。):

相关知识点

一些动画常用的通用基础属性:

Notice: 所谓通用就是说所有动画标签都适用于这些属性

android:duration 设置动画播放的时间 android:startOffset 设置动画的开始播放时间 andorid:interpolator 设置动画的插&#;器 android:repeatCount 动画播放的常用次数 android:repeatMode 动画重播的模式,即从头到尾,从头到尾,还是从头到尾,在从尾到头。

透明的使用:

<alpha />

value 从 0 (透明) 到 1 (不透明)在android中透明主要用于对view 淡入,淡出的效果控制主要有两个属性

android:fromAlpha view在动画开始的透明度。 android:toAlpha view在动画结束的透明度。

平移的使用:

<translate />

支持使用 %,如 “%“ 获取的是这个view的百分之,除此之外还有另外一种写法:”%p“ 意思是获取这个view的上一级view的百分之 当然,指定特定&#;也是支持的“.2”,不过为了兼容更多的android设备建议还是使用百分比的&#;。

android:fromXDelta

Android 应用的动画实践--View Animation篇(android的动画有哪些?)

android:fromYDelta

from?Delta 意思是开始的轴线

android:toXDelta

android:toYDelta

to?Delta 意思是结束的轴线

这次的方案展示了两个插&#;器的使用:

用于出现的:BounceInterpolator

用于离开的: AnticipateInterpolator

什么是插&#;器?

所谓插&#;器就是用于数&#;的起始间的变化,就是相当于一个类&#;于物理引擎的东西。android官方内置了一些简单常用的数&#;变换,让我们,不需要去学习相关的物理知识。

例如:

开始&#;为1,结束&#;为 .那么我们如何控制变化这个&#;的变化过程呢?这里就是插&#;器的使用。

一般匀速的话就是:

1,2,3,4,5...。 然后我们就会看到物体以一个匀速的速度进行平移操作。

那么我们需要物体像汽车那样加速度的前进,我们可以用加速插&#;器,我们从1到的过程,就会是:

1,2,4,5,8,.。。。。 展示在我们面前的view对象就会以一个加速度的形式进行平移。

有很多应用开发者并不熟悉动画制作的一些基础知识,可能不太明白。现在,通过对源码进行分析,来彻底搞明白这个概念。

我们分析一些Interpolator 类树:

从api文档TimeInterpolator 我们可以知道,这个插&#;器的实现只有一个方法:

getInterpolation(float t);

然后我们挑选前面用过的BounceInterpolator 看下,它是如何实现这个方法。如果感兴趣的,可以按照这种方法,把其他几个插&#;器的实现都看一遍。

最后我们会发现,插&#;器的作用就是返回&#;。

接着我们来看下Animation line: 是怎么用这个接口的.

看完这这几个地方,相信应该对android 动画框架怎么对&#;进行变换的原理应该有所了解。

有了以上知识,我们对android的动画框架基本上已经完全了解,现在,我们利用学到的知识,进行更好的动画设计。

我们接着刚才的案例,着手设计商品控件的动画设计

商品动画设计:

这次,我们学习一个新的动画标签缩放(<scale>)

效果如下:

<scale />

使view 大点或者小点

android:fromXScale

android:fromYScale

from?Scale 意思是开始轴线的缩放比例(默认 1.0)

android:toXScale

android:toYScale

to?Scale 意思是结束轴线的缩放比例(默认 1.0)

android:pivotX

android:pivotX

旋转用的轴点坐标

最后我们把购物车的动画,和商品的动画在组合起来。效果如下:

添加商品的时候,如果购物车还没出现,先出现购物车显示的动画,在进行商品的动画播放。

具体实现 line: -

这次我们学习一下如何监听动画的动作,对于AnimationListener()主要有三个

onAnimationStart(Animation animation)

onAnimationRepeat(Animation animation)

onAnimationEnd(Animation animation)

Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它) 在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionB

android上开源项目、酷炫的交互动画和视觉效果 android上开源的酷炫的交互动画和视觉效果交互篇1.SlidingUpPanelLayout2.FoldableLayout3.android-flip4.SwipeBackLayout5.AndroidImageSlider6.Android-ParallaxHeaderViewPager7.FragmentTran

Android开发:shape和selector和layer-list的(详细说明) shape和selector在AndroidUI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector

标签: android的动画有哪些?

本文链接地址:https://www.jiuchutong.com/biancheng/386751.html 转载请保留说明!

上一篇:Android ORM之GreenDao学习

下一篇:Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)(安卓通知栏管理工具)

  • 企业名称税号
  • 递延所得税资产和负债怎么理解
  • 清算组的性质
  • 小规模纳税人运输费计入什么科目
  • 含税金额和开票金额
  • 注册资本印花税按年申报还是按次申报
  • 咨询公司小规模纳税人怎么界定
  • 购货方付款会计分录
  • 企业所得税季报时间
  • 长期投资包括哪些会计科目
  • 待认证进项分录
  • 向税务局缴纳工伤保险费有发票吗
  • 别人提供原材料加工后加工费
  • 另一个公司代付公司的水电费
  • 用金税盘怎样认证抵扣
  • 融资租赁中承租人的权利
  • 会计账簿的定义及其作用
  • 小微企业增值税税率
  • 劳务成本属于费用项目吗
  • 红字专用发票信息表
  • 付佣金怎么做分录
  • 系统属性的表现
  • 所得税到底按会计分录吗
  • 如何使用u盘安装软件
  • 详解php比较操作过程
  • window10如何设置休眠时间
  • macOS Big Sur 11.2 开发者预览版 Beta如何更新?
  • 如何关闭win10专业版自动更新
  • 房地产企业开发成本
  • 其他应付款不用付了怎么做分录
  • 以物易物双方做什么处理
  • url示例
  • 什么是动态表单
  • 一般纳税人简易征收3%可以开专票吗
  • 红字发票什么作用
  • 增值税普通发票需要交税吗
  • h5支付功能
  • 哪一款macbook
  • 进项发票数据导出
  • 什么叫误餐费
  • 网上报税优点与缺点
  • 公司出售房子怎么交税
  • mongodb的安装配置
  • 加工企业的税怎么算
  • 企业会计准则每股收益
  • 小企业会计准则调整以前年度费用分录
  • 合伙企业要不要每月做账?报税是不是与一般的有限公司一样,每月申报纳税吗?
  • 废品材料回收的会计分录
  • 预付开发票加油后还能开吗?
  • 金税四期可以查香港银行卡吗
  • 土地使用权是什么权利
  • 合同未约定开票但对方不给开
  • 税控系统专用设备包括税控收款机吗
  • 其他应收款与其他应付款对冲分录
  • 股权转让如何支付利润
  • 房地产企业成本控制存在的问题及对策
  • linux下apache、mysql、php安装配置详细笔记
  • sql server 用法
  • mysql常用命令
  • xp系统电脑蓝屏无法正常启动怎么恢复
  • 如何在macbook中设置软件权限
  • 如何解决电脑wifi无法上网
  • win10无法回退到以前的版本怎么办
  • jquery插件大全
  • 完本小说 电子书地址
  • dos内部命令大全
  • js实现倒计时60s
  • unity控制相机旋转
  • vue实现数据导出为excel
  • js很简单
  • jquery可以实现哪些效果
  • javascript中变量的命名规则有哪些?
  • python中字典怎么用
  • JavaScript的函数中只能写一条代码语句
  • jquery checkbox无法用attr()二次勾选问题的解决方法
  • js register
  • 企业所得税汇算清缴账务处理
  • 重庆市九龙坡税务局行政服务中心电话
  • 浙江省地方税务局通用定额发票
  • 深圳电子税务局入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设