时间:2015-02-09 来源:

Android动画之translate(位移动画)【综合】

Activity的切换效果使用的是Android的动画效果psd切图html,Activity的切换动画实际上是Android的View Animation(视图动画)中的Tween Animation效果,团队网页接活Tween Animation分为4种动画效果,div切图排版分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转), 而左右滑动切换使用的是 translate(位置移动)的效果,手机页面切图排版在下一篇我们再讨论一下 alpha (透明变化) 、scale(缩放)、 rotate(旋转) 这三种效果div+css+js切图,本篇只将 translate(位置移动).

</translate>

定义一个向上退出的动画(从位置2 移动位置3)和从下面进入(从位置1移动位置2)的动画定义文件如下:

 

为了解决以上问题,div+css+js切图重新定义动态效果承接网站前端,将第1个Activity的移动分为2个动画效果:(1)用200毫秒时间先向后移动2%p的位置 (2) 延迟200毫秒后从2%p位置向前移动到-100%p位置. 然后第2个Activity从延迟200毫秒然后从102%p位置移动到0%p位置.

android:duration: 动画运行时间,页面div重构定义在多次时间(ms)内完成动画

    android:fromYDelta="100%p"

在实际项目中需要在进行只使用“左右上下滑动”的效果可能还不够炫psd切图html,希望在切换时能产生更动态的效果,psd切图html比如开始切换时第1个Activity先向后退一步web外包,然后在向左方向退出屏幕.然后第2个Activity紧跟后面从右边进入屏幕,web外包到达终点时有一个动态效果.在了解了动画加速器后网页切图制作,大家都知道可以采用:anticipate_overshoot_interpolator、anticipate_interpolator、overshoot_interpolator这三个加速器实现左右滑动切换时启动或者结束的动态效果.

        android:fromXDelta="2%p"

接下来讲一讲translate的几个重要的属性:

1.     第1个Activity使用anticipate_interpolator时,div页面开始移动时先向后退一步div+css+js切图,然后向前移动.但向后退一步步伐太大,div+css+js切图略显夸张承接网站前端,实际应用中只希望退后一小小步就行了.

@android:anim/linear_interpolator:均匀速度.

in_from_down.xml (从屏幕下面进入)

    android:shareInterpolator="false" >

        android:interpolator="@android:anim/accelerate_interpolator"

    android:startOffset="200"

toXDelta:   X轴方向结束位置,承接网站前端可以是%,也可以是具体的像素

    android:duration="500"

</translate>

动画定义如下:

<translate xmlns:android="http://schemas.android.com/apk/res/android"

<set xmlns:android="http://schemas.android.com/apk/res/android"

但是再使用以上动画配置,承接网页制作会出现以下问题:

    android:toXDelta="-100%p" />

new_dync_out_to_left.xml

<?xml version="1.0" encoding="utf-8"?>

@android:anim/overshoot_interpolator:快速到达终点超出一小步然后回到终点

@android:anim/bounce_interpolator:到达终点产生弹球效果web外包,弹几下回到终点

        android:toXDelta="2%p" />

@android:anim/anticipate_interpolator: 先后退一小步然后向前加速

@android:anim/accelerate_interpolator: 越来越快

    android:fromXDelta="100%p"

<translate xmlns:android="http://schemas.android.com/apk/res/android"

fromYDelta: Y轴方向开始位置,web外包可以是%,也可以是具体的像素

<translate xmlns:android="http://schemas.android.com/apk/res/android"

 

toYDelta:    Y轴方向结束位置,手机页面切图排版可以是%,也可以是具体的像素

android:interpolator: 加速器,网页重构报价非常有用的属性承接网站前端,可以简单理解为动画的速度,承接网站前端可以是越来越快psd切图html,也可以是越来越慢,psd切图html或者是先快后忙web外包,或者是均匀的速度等等,div切图排版对于值如下:

@android:anim/accelerate_decelerate_interpolator:先快后慢

dync_out_to_left.xml 

 

    android:toXDelta="0%p" />

    <translate

<?xml version="1.0" encoding="utf-8"?>

    android:duration="1000">

dync_in_from_right.xml

        android:duration="1000"

    android:interpolator="@android:anim/accelerate_interpolator"

<?xml version="1.0" encoding="utf-8"?>

    <translate

2.     由于开始向后退一步网页切图制作,额外增加了移动时间,手机页面切图排版导致前一Activity和后一个Activity的时间不同步.

@android:anim/decelerate_interpolator:越来越慢

<?xml version="1.0" encoding="utf-8"?>

</set>

        android:duration="200"

    android:interpolator="@android:anim/accelerate_interpolator"

 

    android:fromYDelta="0%p"

<?xml version="1.0" encoding="utf-8"?>

        android:fromXDelta="0%p"

    android:interpolator="@android:anim/anticipate_overshoot_interpolator"

当你了解上面的属性后div+css+js切图,你可以组合出很多有趣的位置移动效果.比如使用加速器:@android:anim/bounce_interpolator 可以产生弹球落地时的效果.

    android:duration="500"

        android:startOffset="200"

    android:duration="1000">

    android:interpolator="@android:anim/anticipate_interpolator"

        android:interpolator="@android:anim/accelerate_decelerate_interpolator"

    android:interpolator=" @android:anim/anticipate_overshoot_interpolator "

Translate动画是非常好理解,div+css+js切图就是定义一个开始的位置和一个结束位置承接网站前端,定义移动时间,页面div重构然后就能自动产生移动动画.Android的translate移动方向有 横向(X) 竖向(Y), 左右滑动使用了横向移动效果,psd切图html对于竖向(Y)的位置如下:

fromXDelta: X轴方向开始位置web外包,也可以是具体的像素 具体见图

    android:toYDelta="0%p"

android:startOffset: 延迟一定时间后运行动画

out_to_up.xml (从屏幕上面退出)

        android:toXDelta="-100%p" />

    android:fromXDelta="0%p"

<?xml version="1.0" encoding="utf-8"?>

new_dync_in_from_right.xml

    android:toYDelta="-100%p"

@android:anim/anticipate_overshoot_interpolator:到达终点超出一小步然后回到终点

<translate xmlns:android="http://schemas.android.com/apk/res/android"

    android:toXDelta="0%p" />

    android:fromXDelta="102%p"

    android:duration="1000"

<translate xmlns:android="http://schemas.android.com/apk/res/android"

动画文件定义如下:

点击次数:6219
作者:
web前端行业资讯
Web new NewsList
谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日苹果经典电脑Lisa源代码修复完成将于2018年开源 ,,2017年12月28日腾讯浏览指数发布年终榜单2017年人们都关注哪些AI话题? ,,2017年12月28日除了发现开普勒90,NASA还靠AI做了什么? ,,2017年12月28日柯洁宣布:明年4月,将再次与围棋AI交锋 ,,2017年12月28日百度无人车美国首秀CES将发布Apollo2.0 ,,2017年12月28日这四种技术发展趋势将在2018年改变世界 ,,2017年12月28日2017:谷歌DeepMind团队的年度回顾 ,,2017年12月28日封杀这个公式,AI智商将为零 ,,2017年12月28日微软AI高管:要让所有人、所有机构都用上人工智能 ,,2017年12月28日为什么Linux桌面年一直未到来 ,,2017年12月28日AppleLisa操作系统将开源 ,,2017年12月28日2018年9大技术趋势预测 ,,2017年12月28日谷歌研究院发布NIMA:能评价图像有多美,还能让图像变得更美 ,,2017年12月28日苹果为2019年iPhone开发大容量电池新技术 ,,2017年12月28日谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日存储效率:Git>CVS>SVN 【移动开发】2015年02月16日Java数据提取工具Jailer3.6.11发布 ,,2016年07月24日Eclipse的Python插件,PyDev2.6.0发布 1,收藏 ,,2016年07月24日基础知识完善总结【研发管理】2015年04月03日VB6反编译软件VBRezQV2.4a正式版注册码2014年01月29日RestApihowtoretrievelistitemsfromSharePointOnline 【编程语言】2015年06月05日javaQQ客户端 【综合】2015年06月11日ASP.NETTreeView读取数据库实例2014年01月29日Flash制作页内浮动广告2014年01月28日迭代器模式 【编程语言】2015年05月06日关于网页媒体播放器兼容性的问题(附原码)下载2014年01月29日2014年终总结:缅怀过去,祝福自己【综合】2015年03月02日简介分布式计算系统的硬件架构 【编程语言】2015年09月01日【SSH】之Struts2 【移动开发】2015年01月26日开发者福利:iOS开发学习资源、解决方案大放送 【综合】2014年12月10日hdu2871MemoryControl(成段更新,区间合并) 【编程语言】2015年07月06日spring架包的说明 【移动开发】2015年08月03日UINavigationController详解---含iOS8新的API【编程语言】2014年12月25日Android动画介绍-TweenAnimation 【综合】2015年01月19日【iOS开发系列】scrollView中的directionalLockEnabled 【移动开发】2015年07月23日2015Multi-UniversityTrainingContest21004DeliciousApples(DP)2015年07月28日winrar3.62注册码与下载地址2014年01月29日【leetcode】121.BestTimetoBuyandSellStock 【编程语言】2015年07月20日flash刷子工具使用教程2014年01月28日ServiceStack.Redis连接池不起作用的问题处理 【互联网】2015年02月16日jquery自定义属性(类型属性值)2014年01月29日被忽视的WindowsServer2008十大功能2014年01月28日步步为营_Android开发课_番外篇【4】_Logcat介绍 【移动开发】2015年04月01日好奇号程序包含250万行C代码 1,收藏 ,,2016年06月23日从controlfile和datafileheader上获得不同的scn信息【系统运维】2015年05月18日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)