引言
当今,Android、IOS二分天下,什么Tizen、COS blabla的均为蝼蚁,一看就知道是为打发领导或为花研发资金产出的产品,根本不是为了赢得市场,为的只是博得领导一笑而已,完全可以忽视。而Android开发又因为开发语言以Java为主,入门门槛极低导致基本上是个程序员,泡两天EOE,或Android Developer Training都可以过来说“哥会开发Android app了!”,那么什么才能将你的App脱颖而出呢?准确的用户痛点、良好的数据结构、简单易用的交互流程、大方前卫的设计风格等等等等都是必要的,而对于用户来说,最直观、最直接、最能被打动的就是界面,本片博客就来讲述一下Android界面开发中不可小觑的动画开发,初步决定要分为三篇博客进行详解,分别是xml动画、代码动画、插值器。本篇作为开篇,就来讲述一下xml动画的开发。
定义
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:pivotX="50%p"
android:pivotY="50%p"
android:fromXScale="1" android:toXScale=".85"
android:fromYScale="1" android:toYScale=".85"
android:duration="@android:integer/config_shortAnimTime" />
<alpha
android:fromAlpha="1"
android:toAlpha=".4"
android:duration="@android:integer/config_shortAnimTime" />
</set>
开篇贴出一个简单的xml动画作为解析的例子(动画xml是在res/anim中的)。首先是set,set可以理解为容器,所承载的内容为动画。有了set,就可以让多个不同的属性动画同时进行播放。在上边的例子中,一个set(容器)包含了两个子动画,分别是scale——缩放动画和 alpha——透明度动画。set同样拥有android:duration属性,用来定义所有子动画持续的时间,例子中显然犯了啥,如果子动画的时间都是一样的话可以放在一个set中进行统一定义。set的常用属性有:
android:duration="200"
android:interpolator="@android:interpolator/overshoot"
android:repeatCount="infinite"
android:repeatMode="reverse|restart"
an