`
chengfengyang
  • 浏览: 22166 次
社区版块
存档分类
最新评论

Animations的使用(五)

阅读更多
1 AnimationSet的使用方法

什么是AnimationSet

1 AnimationSet是Animation的子类

2 一个AnimationSet包含了一系列的Animation

3 针对AnimationSet设置一些Animation的常见属性(如StartOffset,duration等),可以被包含在AnimationSet当中的Animation继承

	AnimationSet animationSet = new AnimationSet(ture);
	AlpahaAnimation alpha = new AlphaAnimation(...);
	RotateAnimation rotate = new RotateAnimation(...);
	animationSet.addAnimation(alpha);
	animationSet.addAnimaion(rotate);
	animationSet.setDuration(2000);
	animationSet.setStartOffset(500);
	imageView.startAnimation(animationSet);


2 Interpolator的使用方法

Interpolator定义了动画变化速率,在Animations框架中定义了以下几种Interpolator



AccelerateDecelerateInterpolator:在动画开始和结束的地方速率变化较慢,中间的时候加速

AccelerateInterpolator:在动画开始的地方速率改变较慢,然后加速

CycleInterpolator:动画循环播放特定次数,速率改变沿正弦曲线

DecelerateInterpolator:在动画开始的地方速率改变较慢,然后减速

LinearInterpolator:以均匀的速率改变



设置的地方就在set标签中的 android:interpolator="@android:anim/accelerate_interpolator"

而之后还有一个android:shareInterpolator="true" 从名字就可以看到这是为set中所有的动画设置Interpolator

如果要单独设置 则将shareInterpolator设为false 然后为每个动画中单独定义Interpolator



以上是在xml中设置,如果要在代码中设置

animationSet.setInterpolator(new AccelerateInterpolator());(也可以单独设置)

注意在AnimationSet的构造方法中有一个boolean参数,这个参数就是shareInterpolator的设定



3 Frame-By-Frame Animations的使用方法

1 在res/drawable中创建一个xml文件,定义Animation的动画播放序列 anim_nv.xml

	<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
		android:oneshot="false">
		<item android:drawable="@drawable/nv1"
			android:duration="500" />
		<item android:drawable="@drawable/nv2"
			android:duration="500" />
		<item android:drawable="@drawable/nv3"
			android:duration="500" />
		<item android:drawable="@drawable/nv4"
			android:duration="500" />
	</animation-list>


2 为ImageView设置背景资源
	imageView.setBackgroundResource(R.drawable.anim_nv);


3 通过ImageView得到AnimationDrawable
	AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground();


4 执行动画
	animationDrawable.start();

分享到:
评论

相关推荐

    iOS_Animations_by_Tutorials_v4.0

    五、转场动画 转场动画在应用界面切换中起着关键作用,能提供流畅的过渡体验。书中涵盖了系统提供的转场动画,如推拉、覆盖、淡入淡出等,同时也讲解了如何自定义转场动画控制器来实现独特的交互效果。 六、实战...

    iOS.Animations.by.Tutorials.v4.0.1

    无论是在合同、侵权行为或其他情况下,作者或版权所有者均不对因使用软件或与软件有关的行为而产生的任何索赔、损害或其他责任负责。 #### 五、结语 《iOS Animations by Tutorials》是一本非常实用且内容丰富的...

    Creating Web Animations_ Bringi - Kirupa Chinnathambi

    **五、性能优化** 虽然动画可以显著提升用户体验,但如果不加以合理控制,也可能对网站性能造成负面影响。因此,在创建动画时需要注意以下几点: - **避免昂贵的操作**:某些CSS属性(如`transform`和`opacity`)...

    14 Arrow Animations1.0--箭头资源包

    #### 知识点五:拓展应用与优化建议 - **定制化开发**:虽然资源包提供了丰富的现成动画,但对于有更高要求的项目来说,可以在此基础上进行二次开发,增加更多个性化的动画效果。 - **性能优化**:考虑到动画资源...

    iOS-Animations-by-Tutorials-v4-code.zip

    五、Auto Layout Animations 在`AutoLayoutAnimations`目录中,展示了如何在约束改变时触发动画,使得界面布局的变化更加平滑。这涉及到NSLayoutConstraint的`constant`属性的动态修改,并配合`layoutIfNeeded`方法...

    [android.开发书籍].Android.3.0.Animations

    - 掌握Android 3.0中各种动画框架的使用方法。 - 学会如何设计和实现复杂的动画效果。 - 了解如何优化动画性能,避免影响用户体验。 - 能够独立完成包含高级动画效果的应用开发项目。 #### 六、结语 《Android 3.0...

    Android 3.0 Animations Beginner’s Guide

    #### 五、实践案例 为了更好地理解如何在Android 3.0中实现动画,下面介绍几个具体的实践案例: 1. **基本视图动画**:创建一个简单的动画效果,如让一个按钮在屏幕上水平移动。这可以通过定义一个XML动画文件来...

    Realistic Modeling of Bird Flight Animations

    #### 五、计算机图形学分类与关键词 根据论文中的信息,其计算机图形学分类属于I.3.7[Computer Graphics]: Three-Dimensional Graphics and Realism—Animation以及I.6.8[Simulation and Modeling]: Types of ...

    Tp_Animations

    2. 性能优化:"Tp_Animations"考虑到性能问题,使用了高效的计算和渲染策略,确保动画在各种设备上都能流畅运行。 3. 可扩展性:项目提供丰富的插件和扩展点,允许开发者根据需求定制功能,如添加新的动画类型或...

    Learning AngularJS Animations

    #### 五、AngularJS动画案例分析 为了更好地理解AngularJS动画的实际应用,下面介绍一个简单的案例。 **案例背景**:假设有一个简单的待办事项列表应用,每当用户添加一个新的待办事项时,新条目应该以滑动的方式...

    CSSAnimations

    ### 五、实际应用 CSS Animations广泛应用于各种场景,如导航菜单的展开和收起、按钮的悬停效果、加载指示器、滑动切换的幻灯片等。通过结合CSS Transitions(过渡)和Transforms(变换),可以创造出更多动态效果...

    css-animations-course:使用CSS学习动画

    **五、实战应用** 在实际项目中,CSS动画广泛应用于网页加载效果、按钮悬停效果、导航菜单展开收起、页面过渡效果等。通过结合JavaScript,可以创建更复杂、响应式的交互体验。 总结来说,“css-animations-course...

    Creating.HTML5.Animations.with.Flash.and.Wallaby(2011.9)[HTML5系列]

    #### 五、使用Flash与Wallaby创建HTML5动画的具体步骤 1. **准备源文件**:使用Adobe Flash创建所需的动画或交互内容。 2. **导出设置**:选择Adobe Wallaby作为导出工具,并根据需求调整导出设置,例如选择输出的...

    react-native-animations:动画展示

    React Native中的动画分为两大类:布局动画(Layout Animations)和自定义动画(Custom Animations)。布局动画是由React Native自动处理的,如组件大小和位置的变化;而自定义动画则允许开发者通过控制属性来实现更...

    jquery+css五屏焦点图淡入淡出+圆形按钮切换广告代码

    通过CSS3的新特性,如transitions和animations,可以实现平滑的图片过渡效果。 五屏焦点图意味着有五张图片会按照一定的顺序显示,每张图片在展示时会有淡入的效果,隐藏时则淡出。这种效果能增加用户体验,使页面...

    Android 高级UI课程

    #### 五、总结与展望 通过本课程的学习,学员不仅能够掌握Android UI设计与开发的核心技能,还能够深入了解用户体验设计的重要性,并能够在实际项目中灵活运用所学知识。随着移动互联网的发展,未来对于高质量UI设计...

    OGRE 3D 1.7 Beginner's Guide 第五章 中文翻译

    OGRE 3D 1.7 Beginner's Guide第五章介绍了如何使用Ogre 3D进行模型动画。首先,了解了动画在3D场景中的重要性,然后通过实践展示了如何加载和播放动画,以及如何结合多个动画。最后,学习了如何将实体附加到特定的...

    jQuery+html5实现的五款液体扭曲水波纹全屏幻灯片切换特效源码.zip

    例如,使用`slideUp()`和`slideDown()`方法可以实现元素的滑动隐藏与显示,`fadeIn()`和`fadeOut()`则用于元素的淡入淡出效果。 2. **HTML5**: HTML5是新一代的超文本标记语言,提供了许多新的元素和API,增强了...

    iOS UISwitch 详细使用说明文档

    UIView.animate(withDuration: 0.5, animations: { switchControl.isOn = !switchControl.isOn // 切换状态 }) ``` ### 六、适配不同屏幕尺寸 为了确保UISwitch在各种设备上的显示效果一致,应考虑使用Auto ...

    css样式表使用参考手册

    CSS3不仅扩展了选择器的范围,还引入了许多新特性,如渐变(gradients)、阴影(shadows)、动画(animations)、转换(transitions)、多列布局(multi-column layout)等,大大增强了网页的视觉效果和交互性。...

Global site tag (gtag.js) - Google Analytics