animation动画详解

来源:互联网 发布:高仿爱奇艺影视源码 编辑:程序博客网 时间:2024/06/05 15:59

</pre>动画效果分为两类,第一种是补间动画,里面包含了alpha,scale,translate,ratate,第二种是帧动画,frame。<p></p><p>其中alpha表示渐变透明动画效果</p><p><span style="white-space:pre"></span>scale表示渐变尺寸缩放效果</p><p><span style="white-space:pre"></span>translate表示画面转换位置移动效果</p><p><span style="white-space:pre"></span>rotate表示画面转移旋转动画效果</p><h5><ol><li>alpha渐变透明效果</li></ol><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android"       android:duration="3000"       android:fromAlpha="0.0"       android:interpolator="@android:anim/accelerate_decelerate_interpolator"       android:toAlpha="1.0" ></alpha>
duration:表示动画持续的时间
fromAlpha:表示动画效果开始的透明度
<pre name="code" class="html" style="font-weight: bold;">toAlpha:表示动画效果结束的透明度
<pre name="code" class="html" style="font-weight: bold;">interpolator:主要适用于控制动画的变化速度,也就是动画进行的快慢程度,android系统为我们提供了一些interplator,比如<span style="color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; line-height: 24px;">accelerate_decelerate_interpolator,accelerate_interpolator</span>
也可以自定义
2.scale标签——缩放
<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android"       android:duration="3000"       android:fromXScale="0.0"       android:fromYScale="0.0"       android:pivotX="50%"       android:pivotY="50%"       android:repeatCount="6"       android:repeatMode="reverse"       android:toXScale="1.0"       android:toYScale="1.0"></scale>
<pre name="code" class="html" style="color: rgb(51, 51, 51); font-size: 16px; font-weight: bold; line-height: 24px;">pivotX/<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">pivotY</span><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">:开始的时候图片位置,x,y表示在X,Y轴上面的位置,这里取值可以有三种50,50%,50%p.50表示的是50个像素,50%表示在当前控件的左上角,加上宽度的50%作为开始起点,50%p表示在当前左上角加上父控件宽度的50%作为起点</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">fromXScale/fromYScale:表示起始在X轴方向上相对于自身的缩放比例,1.0无变化,0.5缩小一半,2.0放大一倍</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">toXScale/toYScale:表示结尾在该位置上面相对于自身的缩放比例</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">其他属性</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';"><span style="white-space:pre"></span>android:fillAfter  设置为true,当动画结束的时候,保持最后的状态</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';"><span style="white-space:pre"></span>android:fillBefore  设置为true,当动画结束的饿时候,保持开始的状态</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';"><span style="white-space:pre"></span>android:repeatCount   重复的次数</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';"><span style="white-space:pre"></span>android:repeatMode   重复类型,有两种方式reverse(倒序回放),restart(重新播放),必须和repeatCount一起才能看到效果</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">3.Rotate旋转属性</span>
<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';"><span style="white-space:pre"></span></span><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <rotate        android:duration="2000"        android:pivotX="50%"        android:pivotY="50%"        android:fromDegrees="0"        android:toDegrees="-360"        android:repeatCount="10"        android:repeatMode="reverse"        ></rotate></set>
<pre name="code" class="html" style="color: rgb(51, 51, 51); font-size: 16px; font-weight: bold; line-height: 24px;">fromDegrees:开始旋转的角度
toDegrees:结束的旋转角度,如果是正数顺时针旋转,如果是负数逆时针旋转
4.translate:移动
<span style="white-space:pre"></span><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:fromXDelta="0"        android:toXDelta="100%p"        android:fromYDelta="0"        android:toYDelta="100%p"        android:duration="3000"        android:repeatCount="6"        android:repeatMode="reverse"        ></translate></set>
</pre>










0 0
原创粉丝点击