android animation相关
来源:互联网 发布:推荐健身房的软件 编辑:程序博客网 时间:2024/06/10 13:07
1.Tween animation(渐变动画)
2.Frame animation
3.Layout Animation
4.Property Animation
这些android animation都可以在xml文件中定义,也可以直接用java code 直接生成。
通用: i.从xml中加载动画文件并且播放:
Animation scale = AnimationUtils.loadAnimation(Context, R.anim.···);
//img.startAnimation(scale);
ii. 播放动画的时候会触发动画的播放事件,我们可以设置AnimationListener对动画放映到不同的状态设置监听(onAnimationStart, onAnimationEnd,onAnimationRepeat)
(1). 关于Tween animation ,大概有这几种:alpha、scale、translate、rotate (对应的java code AlphaAnimation, ScaleAnimation ······)
他们有下面这些通用属性:
Duration: 动画持续时间(ms)
fillAfter: 设置为true,动画转化在动画结束的时候被采用,view不会回复原样
fillBefore: 设置为true,动画转化在动画开始前被采用
interpolator: 动画插入器(加速减速等等,控制动画播放的节奏)
repeatCount: 重复次数
repateMode: 顺序重复/倒序重复
startOffset: 动画之间的时间间隔
···························································································································································································
a. AlphaAnimation:
i. fromAlpha: (float,0f~1.0f)
ii.toAlpha: (float,0f~1.0f)
b. ScaleAnimation:
i. fromXScale, toXScale, fromYScale, toYScale 分别是起始和结束时动画的伸缩尺寸( 0f~1.0f)
ii. pivotX, pivotY 是伸缩的原点(可用相对位置0~100%)
c. TranslateAnimation:
i. fromXDelta, fromYDelta 分别是起始时x,y坐标
ii. toXDelta, toYDelta 分别是结束时x,y坐标
d. RotateAnimation:
i. fromDegrees 起始的角度
ii. toDegrees终止的角度
iii. pivotX,pivotY 旋转动画的旋转中心点坐标(可以用相对位置0~100%)
e. 用上面4种动画组合成更有趣的动画,我们可以考虑在播放动画1结束的时候通过监听onAnimationEnd回调方法来启动动画2,可以实现动画在时间轴上的线性组合,或者利用startOffSet设置动画的s时间间隔
f. 动画在activity中的使用,intent(Context, Activity.class);
startActivity(intent);
overridePendingTransition(R.anim_new_room_in,R.anim_last_room_out);
函数overridePendingTransition在startActivity / finish()调用后立即调用,仅生效一次。另外,可以写个Theme也行,这个日后再补。
·····························································································································································································
(2). FrameAnimation
在xml中,我们用animation-list作为根元素,在drawable下创建FrameAnimation,然后在animation-list下设置item,每一个item 是一帧,我们只需要设定android:drawable 和 android:duration属性设置好每一帧的图片资源以及持续时间即可。
(3). LayoutAnimation
这是为ViewGroups 添加动画用的,我们可以使用LayoutAnimationController(布局动画控制器) 为ViewGroups准备动画并且设置动画如何应用于ViewGroups的各个子View
LayoutAnimationController 的构造方法需要一个参数,arg1 是请求一个animation,用于子View, 另外,我们需要设定controller的setOrder方法指定一个动画对子view的应用顺序, 设定好之后,我们需要调用ViewGroups.setLayoutAnimation(myLayoutAnimationController),设定viewGroups的动画,并且调用viewGroups.startLayoutAnimation启动动画。
示例代码:
- Android Animation动画相关
- android animation相关
- android Property Animation动画相关知识点整理
- animation相关
- Animation相关
- Android -animation-Property Animation
- Android-animation-View Animation
- Android-animation-drawable Animation
- Physics-based Animation 相关
- Animation动画相关
- Ogre::Animation相关类
- animation相关类
- Physics-based Animation 相关
- android animation
- Android Animation
- android animation
- android Animation
- Animation Android
- SpringMVC 使用JSR-303进行校验 @Valid
- OpenCV中C++函数imread读取图片的问题
- 二,java内部类
- Linux命令-服务端口命令netstat
- android的surfaceflinger原理讲解
- android animation相关
- 【Qt开发】Qt5.7中文显示乱码解决方法两种
- HashMap实现原理分析
- LNMP平台搭建
- gsoap 编译方式
- 128. Longest Consecutive Sequence
- 项目中常见的乱码问题
- Android 日常开发总结的技术经验 60 条
- Liblinphone 3.9.1中文--Modules--Chat room and Messaging