`
苹果超人
  • 浏览: 198360 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Animation(二)

 
阅读更多
  本篇介绍如何用配置文件进行控件的动画设置。步骤如下:
  1. 在res目录下建立anim目录
  2. 在anim目录下创建动画的xml文件
  3. 通过AnimationUtils这个类加载动画的xml文件
  4. 给你需要的控件绑定Animation
  话不多说,代码如下:
 
package com.kevin.animation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class AnimationDemo extends Activity {
	private ImageView img;
	private int flag = 0;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        img = (ImageView)findViewById(R.id.imageView1);
        img.setOnClickListener(new ImgOnClickListenr());
    }
    
    class ImgOnClickListenr implements OnClickListener{

		@Override
		public void onClick(View v) {
			switch (flag) {
			case 0:
				// 加载动画的配置文件
				Animation alphaAnimation = AnimationUtils.loadAnimation(AnimationDemo.this, R.anim.alpha);
				// 调用animation
				img.startAnimation(alphaAnimation);
				flag++;
				break;
			case 1:
				Animation rotateAnimation = AnimationUtils.loadAnimation(AnimationDemo.this, R.anim.rotate);
				img.startAnimation(rotateAnimation);
				flag++;
				break;
			case 2:
				Animation scaleAnimation = AnimationUtils.loadAnimation(AnimationDemo.this, R.anim.back_scale);
				img.startAnimation(scaleAnimation);
				flag++;
				break;
			case 3:
				Animation translateAnimation = AnimationUtils.loadAnimation(AnimationDemo.this, R.anim.translate);
				img.startAnimation(translateAnimation);
				flag = 0;
			default:
				break;
			}
		}
    	
    }
}
  

这里举个配置文件说明一下,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<scale android:fromXScale="0.0"
		   android:toXScale="1.0"
		   android:fromYScale="1.0"
		   android:toYScale="1.0"
		   android:pivotX="50%"
		   android:pivotY="50%"
		   android:duration="5000"/>	   
</set>

  注意这边的piovtX属性后面跟的值,因为scale缩放时,轴心的位置相对于控件的位置有三种:
  1. 当你写50时,它是采用的absolute去取轴心的位置
  2. 当你写50%时,它是采用的RELATIVE_TO_SELF去取轴心的位置
  3. 当你写50%p时,它是采用的RELATIVE_TO_PARENT去取轴心的位置
好了就写到这里吧。
分享到:
评论

相关推荐

    Animation动画详解 - v1.0

    • 2、《Animation动画详解(二)——Interpolator插值器》 • 3、《Animation动画详解(三)—— 代码生成alpha、scale、translate、rotate、set及插值器动画》 • 4、《Animation动画详解(四)——ValueAnimator...

    使用animation翻页动画效果

    二、动画关键帧 在实现翻页效果时,我们通常会用到CSS3的`@keyframes`规则,它定义了动画从开始到结束的各个阶段样式。例如,一个简单的翻页动画可能包括以下关键帧: ```css @keyframes flipPage { 0% { ...

    CSS3-animation(动画)_Animation_css_

    **二、动画属性详解** 1. **animation-name**: 指定动画的名称,对应于@keyframes规则定义的动画。 2. **animation-duration**: 定义动画完成一个周期所需的时间,决定了动画的速度。 3. **animation-timing-...

    android动画介绍之 自定义Animation动画

    二、创建自定义Animation 要创建自定义`Animation`,首先需要继承`Animation`类,并重写以下几个关键方法: 1. `applyTransformation(float interpolatedTime, Transformation t)`: 这个方法在动画每一帧时被调用,...

    core animation

    - **案例二**:创建更复杂的动画,例如翻页效果、弹出菜单等,展示如何将多种动画效果组合起来。 - **案例三**:实现自定义视图动画,通过编写代码控制动画的每一帧,实现高度定制化的动画效果。 4. **高级主题**...

    AnimationInstancing群体渲染

    在Unity引擎中,动画实例化(Animation Instancing)是一种优化技术,特别适用于处理大量游戏角色同时出现的场景,如大规模战斗或人群模拟。这种技术能够显著提高游戏性能,降低Draw Call,减少GPU负担,从而实现流畅...

    TVP Animation 10 Pro_2013Setup(动画制作软件)

    《TVP Animation 10 Pro:打造专业动画的利器》 在数字艺术的世界里,动画制作软件扮演着至关重要的角色,而TVP Animation 10 Pro正是这样一款强大的工具,它以其独特的魅力和易用性,深受动画制作者的喜爱。这款...

    HTML5 SVG Drawing Animation

    SVG是一种标记语言,用于描述二维图形和图像,支持清晰的文字渲染、精确的形状绘制以及复杂的渐变和滤镜效果。这种技术在网页设计和开发中越来越受欢迎,因为它允许图形在不同分辨率的设备上保持清晰,同时提供了...

    继承Animation自定义动画

    二、自定义Animation 继承`Animation`类可以创建自定义动画,我们需要重写以下关键方法: 1. `applyTransformation(float interpolatedTime, Transformation t)`: 这个方法在动画的每一帧被调用,interpolatedTime...

    css3-animation

    **二、动画属性详解** 1. **animation-name**: 指定动画的名称,与`@keyframes`中的定义相对应。 2. **animation-duration**: 定义动画的总时长。 3. **animation-timing-function**: 描述动画速度曲线,如`linear`...

    Core Animation(二)动画基础部分

    Core Animation是苹果操作系统中最核心的动画技术之一,用于在iOS和macOS平台上创建流畅、高性能的视觉效果。在本文中,我们将深入探讨Core Animation的基础知识,包括它的核心概念、工作原理以及如何创建动画。 ...

    Android中的Animation的使用

    二、补间动画 补间动画改变对象在一定时间内的位置、大小、透明度等属性,通过补间插值计算出中间状态。主要有旋转( RotateAnimation )、平移( TranslateAnimation )、缩放( ScaleAnimation )和透明度( ...

    AndroidAnimation

    **二、ScaleAnimation(缩放动画)** ScaleAnimation改变视图的大小,通过fromXScale、toXScale、fromYScale和toYScale设置X轴和Y轴的缩放比例。例如,一个逐渐放大视图的动画可以这样定义: ```java ...

    安卓Animation实现APP引导用户点击动画

    二、Animation的种类 1. TranslateAnimation:平移动画,用于改变View的x和y坐标。 2. RotateAnimation:旋转动画,可以围绕任意轴进行旋转。 3. ScaleAnimation:缩放动画,可以改变View的宽度和高度。 4. ...

    ardor3d-animation-0.7.jar.zip

    二、关键特性 1. **关键帧动画**:允许开发者通过设置特定时间点的对象状态(位置、旋转、缩放)来创建平滑的过渡效果。 2. **骨骼动画**:支持多关节角色的动画,通过绑定骨骼和模型网格,可以实现细腻的人物动作...

Global site tag (gtag.js) - Google Analytics