Android中的动画效果学习之二---Tween动画(使用XML文件进行配置动画效果)
2011-12-10 17:54
495 查看
上一篇学习用硬编码直接进行对动画效果进行设置(Android中的动画效果学习之---Tween动画(硬编码方法创建)),今天学习一下使用XML文件进行配置动画效果:
其中里面主要参数说明已经在上一篇讲过了,接下来进行设置动画的具体步骤:
第一步:在项目的res文件下面新建一个文件夹名字是anim 【注意】这个名字必要要是anim
第二步: 在anim文件夹下面,新建新的XMl文件 在xml文件中具体设置动画效果
第三步: 在Activity中 使用AnimationUtils.loadAnimation(Demo_Animation_second.this, R.anim.xxxxx);进行获取
具体看下面的配置代码:
base_alpha配置:
base_scale配置:
Demo Activity源代码如下:
截图效果:
上面两个截图分别是 alpha和rotate的效果
下面两个截图分别是 scale 和translate的效果
其中里面主要参数说明已经在上一篇讲过了,接下来进行设置动画的具体步骤:
第一步:在项目的res文件下面新建一个文件夹名字是anim 【注意】这个名字必要要是anim
第二步: 在anim文件夹下面,新建新的XMl文件 在xml文件中具体设置动画效果
第三步: 在Activity中 使用AnimationUtils.loadAnimation(Demo_Animation_second.this, R.anim.xxxxx);进行获取
具体看下面的配置代码:
base_alpha配置:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:duration="3000" android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>base_rotate配置:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <rotate android:duration="3000" android:fromDegrees="0.0" android:pivotX="80%" android:pivotY="80%" android:toDegrees="180" /> </set>
base_scale配置:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:duration="3000" android:fromXScale="0.0" android:fromYScale="0.0" android:pivotX="80%" android:pivotY="80%" android:toXScale="10.0" android:toYScale="10.0" /> </set>base_translate配置:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:fromXDelta="0.0" android:fromYDelta="0.0" android:toXDelta="10.0" android:toYDelta="10.0"
android:duration="3000"/> </set>
Demo Activity源代码如下:
package com.android.animation; import com.android.R; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.RotateAnimation; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; import android.widget.Button; import android.widget.ImageView; public class Demo_Animation_second extends Activity { // 定义四个按钮,分别对用四种动画效果操作 private Button alpha, roate, scale, translate; // 声明ImageView组件 private ImageView animation_test; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.animation); animation_test = (ImageView) this.findViewById(R.id.test_animation); alpha = (Button) this.findViewById(R.id.alpha); roate = (Button) this.findViewById(R.id.roate); scale = (Button) this.findViewById(R.id.scale); translate = (Button) this.findViewById(R.id.translate); // 为按钮组件添加监听事件 alpha.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 使用AnimationUitls工具类进行常见动画,使用到XML配置文件 Animation alphaAnimation = AnimationUtils.loadAnimation( Demo_Animation_second.this, R.anim.base_alpha); // 为图片添加效果,开始动画 animation_test.setAnimation(alphaAnimation); } }); roate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 使用AnimationUitls工具类进行常见动画,使用到XML配置文件 Animation roateAnimation = AnimationUtils.loadAnimation( Demo_Animation_second.this, R.anim.base_rotate); roateAnimation.setDuration(3000); // 为图片添加效果,开始动画 animation_test.setAnimation(roateAnimation); } }); scale.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 使用AnimationUitls工具类进行常见动画,使用到XML配置文件 Animation scaleAnimation = AnimationUtils.loadAnimation( Demo_Animation_second.this, R.anim.base_scale); // 为图片添加效果,开始动画 animation_test.setAnimation(scaleAnimation); } }); translate.setOnClickListener(new OnClickListener() { /** * 位置变化 */ @Override public void onClick(View v) { // 使用AnimationUitls工具类进行常见动画,使用到XML配置文件 Animation translateAnimation = AnimationUtils.loadAnimation( Demo_Animation_second.this, R.anim.base_translate); // 为图片添加效果,开始动画 animation_test.setAnimation(translateAnimation); } }); } }
截图效果:
上面两个截图分别是 alpha和rotate的效果
下面两个截图分别是 scale 和translate的效果
相关文章推荐
- Android中的动画效果学习之二---Tween动画(使用XML文件进行配置动画效果)
- Android开发之Tween(补间动画)完全解析(上)——xml文件配置的实现
- Android Animation Tween动画效果的使用
- android 初级动画效果XML配置与代码使用
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
- android Tween Animations(动画效果-XML文件实现)的使用
- android游戏开发框架libgdx的使用(二十三)—使用Universal Tween Engine实现动画效果
- Android中的动画效果学习之---Tween动画(硬编码方法创建)
- Android中的动画效果学习之---Tween动画(硬编码方法创建)
- Android动画学习(五)之属性动画实现Tween的效果和高级属性示例
- [学习总结]8、android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- Android学习-使用ViewFlipper实现屏幕切换的动画效果
- Android学习之动画效果的实现、自定义控件皮肤
- Android中使用XML文件配置OptionMenu
- android 使用LinearGradient进行字体渐变的效果
- android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- 【Android开源项目解析】背景有波浪效果的TextView——从Titanic项目学习BitmapShader的使用
- Android源码学习 使用Git和Repo进行版本管理
- 全志H3-android 4.4下进行USB Camera的配置和使用总结
- android学习之布局动画的使用