国产动画成为中国的文化一大招牌只是时间的问题,android中补间动画分为透明动画
虹蓝,小福贵能够说是开启了进口动画片的新时代。这一年本身还在上小学,国产有这种神作霸屏,进口动画片有犬夜叉柯南,动画行当算得上是昌盛了。若是及时以这种势头下去,国产卡通成为中华的知识一大咖子只是时间的难题。我们有伍仟年的野史,诗词,美味的吃食,武侠,音乐…这个标题算是取之不尽
用之不竭。缺憾,短短三八年,市集上充斥起了喜羊羊,光头强…能说怎么,哀其不幸怒其不争罢了。
android中补间动画分为透明动画,旋转动画,缩放动画和位移移动,动画能够成效在颇负的view上,动画可以独自使用,也能够几个卡通一齐利用。
在起初读书Core
Animation提供的layer的隐式动画和layer的显式动画在此之前,大家先来计算一下UIView
block动画,因为:
驷不如舌写在前头
android动画中存有涉嫌到坐标的地点,坐标原点都以view的左上角。
补间动画只好在视觉上更动view的景况,可是view实际上依然以本来的高低在本来的职位上。比如把八个view从左上角移动到了右下角,那多少个那么些view其实还在左上角,只是在视觉上活动到了右下角,固然view上有一点击事件,那么独有一些左上角那三个地方技巧触发点击事件,点右下角不会有其余影响。
- 在实际上开销中大家用的最多的如故view,实际不是layer,所以更加的多情况下要是我们要做动画的话,用的依旧UIView
block动画,并非layer的隐式动画和出示动画; - 那边计算一下,能够平价我们在后头两篇学习layer的隐式动画和显式动画时作对照,以期加深对动画的了然。
一 用代码的主意写补间动画
负有动画的共用属性
那边列出装有动画皆有个别艺术,包罗三种动画以及AnimationSet,这几个动画片的合集
//设置动画的持续时间
alphaAnimation.setDuration(2000);
//设置动画播放完毕后是否保持在动画播放完毕的状态
alphaAnimation.setFillAfter(true);
/*
设置动画的重复次数,这里的重复次数指的是动画第一次播放完毕后还会重复播放几次,这里设置为3,就是动画一共播放四次,开始执行一次动画,然后再重复执行三次。
*/
alphaAnimation.setRepeatCount(3);
/*
设置动画重复的模式
有Animation.RESTART:在动画多次播放时每一次都和第一次一样,重复执行
Animation.REVERSE:每一次执行动画是,和上一次执行相反的操作
例如动画是把view放大到原来的两倍,动画一共执行4次
如果是Animation.RESTART,就会每次都从view本身的大小变到2倍的大小,这一过程一共执行4次
如果是Animation.REVERSE,则第一回从本身大小到2倍,第二回从2倍到本身大小,第三回从2倍到view本身第四回再从view本身到2倍
*/
alphaAnimation.setRepeatMode(Animation.REVERSE);
用透明动画举个例子
目录
独自行使动画片
1 AlphaAnimation
AlphaAnimation是透明动画,能够改造view的折射率
1.1 创造动画
//创建动画,并设置起止透明度,传入的数据是浮点型,需要加f
//参数范围从0到1,0表示完全透明,1表示完全不透明
//第一个参数为开始的时候的透明度,第二个参数为结束的时候的透明度
AlphaAnimation alphaAnimation=new AlphaAnimation(1.0f,0);
alphaAnimation.setDuration(2000);
alphaAnimation.setRepeatCount(3);
alphaAnimation.setRepeatMode(Animation.REVERSE);
1.2 推行动画
率先找到要求进行动画的view,然后调用startAnimation方法,并传播必要施行的卡通片
imageView.startAnimation(alphaAnimation);
2 ScaleAnimation
缩放动画,调控view的缩放
2.1 成立动画
/*传入8个参数
前4个参数分别为:
开始长度的缩放比例,终止长度的缩放比例,其实宽度的缩放比例,终止宽度的缩放比例
这四个参数都是浮点型的,代表和原view相比放大或者缩小的比例,1.0代表不变,2.0代表放大到原来的2被,0.5则代表缩小到原来的0.5倍
后四个参数设置缩放的中心点。分别为:
x轴的模式,x轴中心点的位置,y轴的模式,y轴中心点的位置
模式有三种
Animation.RELATIVE_TO_SELF:相对于自己
Animation.RELATIVE_TO_PARENT:相对于父元素
Animation.ABSOLUTE:绝对距离
如果是前两种模式,后面传入的参数代表时父元素或者自己的几倍
例如下面这种写法,代表相对于自己,大小是自己长宽的0.5倍,那么中心点x轴坐标就在空间长度一半的位置
y轴坐标也在控件一半的位置,(android动画中坐标原点都在执行该动画的view的左上角),那个中心点就是该元素的中心。
相对于父元素的也是如此,这两种x,y的坐标是相对的view乘以相应的比例得到的
如果是第三种模式,那个传入的参数谁也不相对,传入的参数是多少,坐标就是多少,坐标原点永远是view的左上角
*/
ScaleAnimation scaleAnimation=new ScaleAnimation(1.0f,2.0f,1.0f,2.0f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
可以再设置有些其余急需的参数
2.2 实行动画
实施动画都是大同小异的操作
3 RotateAnimation
旋转动画,调整view的旋转操作
3.1 创造动画
/*
传入6个参数,前2个参数是开始时旋转的角度,和结束时旋转的角度
正数代表顺时针,负数代表逆时针
后四个参数为设置旋转的中心点,和ScaleAnimation设置中心点一致
*/
RotateAnimation rotateAnimation=new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
能够设置有些其他的参数
3.2 施行动画
施行动画都以大同小异的
4 TranslateAnimation
位移动画,调控view的移动
4.1 创造动画
/*
传入8个参数
一共四组,分别为
起始时view的左上角x轴坐标
结束时view的左上角x坐标
起始时view的左上角y坐标
结束时view的左上角y坐标
view左上角坐标默认为(0,0)
每一组是一个模式加一个值组成的,模式和值进行计算得出实际的坐标值
有关模式的可以看ScaleAnimation中的讲解
*/
TranslateAnimation translateAnimation=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f);
能够安装有个别别样的参数
4.2 实践动画
一、UIView可动画属性列表
卡通合集
5 AnimationSet
动画片的合集,使用它能够调整后面列出的八种动画中的一种大概各种一块实行
5.1 创建AnimationSet
//传入一个boolean类型的参数,这个参数控制的是动画执行时是匀速执行还是不匀速执行
//这个参数不好用,直接都传入true,让他匀速执行就可以
AnimationSet animationSet=new AnimationSet(true);
5.2 将动画片出席到AnimationSet中
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(rotateAnimation);
5.3
能够设置有些参数,假若在set中安装参数,就能对set中有着的卡通片起效果,每一个动画本身安装的参数只对和睦起作用
animationSet.setDuration(2000);
5.4 执行动画
imageView.startAnimation(animationSet);
二、什么是UIView block动画?
二 用xml的不二诀要定义补间动画
用代码定义的卡通片都得以用xml的法子达成
第一在res目录下创设多少个anim目录
再在anim目录下创立多个动画文件,在此动画文件中起初写xml
1、UIView block动画的概念、本质及能做什么动画
同样先说富有动画的国有性质
毫无多说,和上面完全一致,须要说一点,一时这一个属性未有代码提醒,间接手打出去就行。
android:duration="2000"
android:repeatMode="restart"
android:repeatCount="3"
android:fillAfter="true"
1 透明动画
1.1 在xml文件中写动画
<!--需要说明的有两个参数
fromAlpha,toAlpha,分别代表开始的透明度和结束的透明度,大小从0到1
在xml中浮点型不用加f
-->
<alpha
android:fromAlpha="1"
android:toAlpha="0"
android:duration="2000"
android:repeatMode="restart"
android:repeatCount="3"
android:fillAfter="true"/>
1.2 推行动画
//用AnimationUtils工具类把动画加载进行,传入两个参数,一个上下文,一个动画资源的id
AlphaAnimation animation=AnimationUtils.loadAnimation(this,R.anim.animation);
//执行动画
imageView.startAnimation(animationSet);
2 缩放动画
2.1 创设动画
<!--
fromXScale:开始时长度的大小,参数代表这个长度和view自身长度的比例,即这个长度是view自身长度的几倍
toXScale:结束是长度的大小
fromYScale:开始时宽度的大小
toYScale:结束是宽度的大小
pivotX:旋转中心点横坐标,可以传入三种类型的参数,
50%,代表横坐标view自身的长度的50%
50%p,代表横坐标是父元素控件的50%
50,代表横坐标就是50。
坐标原点是view的左上角坐标
pivotY:旋转中心点纵坐标
同pivotX
-->
<scale
android:fromXScale="1"
android:toXScale="2"
android:fromYScale="1"
android:toYScale="2"
android:pivotX="50%"
android:pivotY="50%"/>
2.2 实践动画
加载动画,实施动画
3 旋转动画
3.1 创造动画
<!--
fromDegrees:开始角度
toDegrees:结束角度
pivotX,pivotY:设置旋转中心点,和scale中的一样
-->
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"/>
3.2 实施动画
加载动画,并实行动画
4 位移动画
4.1 成立动画
<!--
fromXDelta:动画开始时view左上角x坐标的位置
toXDelta:动画结束时view左上角x坐标的位置
fromYDelta:动画开始时view左上角坐标的位置
toYDelta:动画结束时view左上角y坐标的位置
这四个参数都可以传入
50%,代表横坐标view自身的长度的50%
50%p,代表横坐标是父元素控件的50%
50,代表横坐标就是50。
坐标原点是原始view的左上角坐标
-->
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="50%"/>
4.2 实践动画
加载动画,试行动画
2、UIView block动画的归类
动画合集
5 set 动画的合集
那时根成分是set成分,set成分中得以写入多个卡通
set能够安装属性,set中的属性全部动画分享,动画内部的性质唯有该动画自身能够采取
5.1 创设动画
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000">
<alpha
android:fromAlpha="1"
android:toAlpha="0"
android:duration="2000"
android:repeatMode="restart"
android:repeatCount="3"
android:fillAfter="true"/>
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="50%"/>
<scale
android:fromXScale="1"
android:toXScale="2"
android:fromYScale="1"
android:toYScale="2"
android:pivotX="50%"
android:pivotY="50%"/>
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
5.2 实践动画
AnimationSet set= (AnimationSet) AnimationUtils.loadAnimation(this,R.anim.animation);
imageView.startAnimation(set);
(1)UIView block基础动画(UIView block属性动画的一种)
①哪些是UIView block基础动画?
②如何利用UIView block基础动画?
(2)UIView block关键帧动画(UIView block属性动画的一种)
①哪些是UIView block关键帧动画?
②如何行使UIView block关键帧动画?
相关文章
- 她们都成了海贼,懦弱地筛选了放任
- 唯有面对内心时才不是自由的,summer的婚姻与jerry不同
- 总的来说我还是挺看好这部动画的,希望喜欢这部动画的朋友也可以向身边的朋友好好安利这部动画
- 澳门美高梅手机版长大的我们不再相信童话,这部电影仿佛让我回到当年那个抱着童话书痴痴感动的小小自己
- 对于国漫可以给4星 对于动漫3星都有点多 弃了 日漫看过很多,日本网友们对有8000家影院上映《银魂》感到非常震惊
- 侧边点关怀,本次剧场版中娜美穿着一身橘原野绿的行李装运
- 问灵十三载,等一不归人
- 不容许不怕死的吧,可是会令人觉着很无力啊
- 但是对于主角有很重要作用的配角,虞紫鸢与王灵娇更是发生了不可逆转的矛盾
- 国产动画成为中国的文化一大招牌只是时间的问题,android中补间动画分为透明动画