`

Android动画四种类型xml布局

阅读更多

动画类型

Androidanimation由四种类型组成

XML
alpha
渐变透明度动画效果
scale
渐变尺寸伸缩动画效果
translate
画面转换位置移动动画效果
rotate
画面转移旋转动画效果


JavaCode
AlphaAnimation          
渐变透明度动画效果
ScaleAnimation
渐变尺寸伸缩动画效果
TranslateAnimation    
画面转换位置移动动画效果
RotateAnimation
画面转移旋转动画效果

Android动画模式

Animation主要有两种动画模式:

一种是tweened animation(渐变动画)
XML
JavaCode
alpha
AlphaAnimation
scale
ScaleAnimation


一种是frame by frame(画面转换动画)
XML
JavaCode
translate
TranslateAnimation
rotate
RotateAnimation



如何在XML文件定义动画

① 打开Eclipse,新建Android工程
② res目录中新建anim文件夹
③ anim目录中新建一个myanim.xml(注意文件名小写)
④ 加入XML的动画代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha/>
  <scale/>
  <translate/>
  <rotate/>
</set>
Android动画解析--XML

<alpha>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/>
<!-- 透明度控制动画效果 alpha
        浮点型值:
            fromAlpha 属性为动画起始时透明度
            toAlpha   属性为动画结束时透明度
            说明:
                0.0表示完全透明
                1.0表示完全不透明
            以上值取0.0-1.0之间的float数据类型的数字
       
        长整型值:
            duration  属性为动画持续时间
            说明:     
            时间以毫秒为单位
-->
</set>
<scale>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
   <scale 
          android:interpolator= "@android:anim/accelerate_decelerate_interpolator"
          android:fromXScale="0.0"
          android:toXScale="1.4"
          android:fromYScale="0.0"
          android:toYScale="1.4"
          android:pivotX="50%"
          android:pivotY="50%"
          android:fillAfter="false"
          android:duration="700" />
</set>
<!-- 尺寸伸缩动画效果 scale
       属性:interpolator 指定一个动画的插入器
        在我试验过程中,使用android.res.anim中的资源时候发现
        有三种动画插入器:
            accelerate_decelerate_interpolator  加速-减速 动画插入器
            accelerate_interpolator        加速-动画插入器
            decelerate_interpolator        减速- 动画插入器
        其他的属于特定的动画效果
      浮点型值:
        
            fromXScale 属性为动画起始时 X坐标上的伸缩尺寸   
            toXScale   属性为动画结束时 X坐标上的伸缩尺寸    
       
            fromYScale 属性为动画起始时Y坐标上的伸缩尺寸   
            toYScale   属性为动画结束时Y坐标上的伸缩尺寸   
       
            说明:
                 以上四种属性值   
   
                    0.0表示收缩到没有
                    1.0表示正常无伸缩    
                    值小于1.0表示收缩 
                    值大于1.0表示放大
       
            pivotX     属性为动画相对于物件的X坐标的开始位置
            pivotY     属性为动画相对于物件的Y坐标的开始位置
       
            说明:
                    以上两个属性值 从0%-100%中取值
                    50%为物件的X或Y方向坐标上的中点位置
       
        长整型值:
            duration  属性为动画持续时间
            说明:   时间以毫秒为单位
        布尔型值:
            fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
-->
<translate>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="30"
android:toXDelta="-80"
android:fromYDelta="30"
android:toYDelta="300"
android:duration="2000"
/>
<!-- translate 位置转移动画效果
        整型值:
            fromXDelta 属性为动画起始时 X坐标上的位置   
            toXDelta   属性为动画结束时 X坐标上的位置
            fromYDelta 属性为动画起始时 Y坐标上的位置
            toYDelta   属性为动画结束时 Y坐标上的位置
            注意:
                     没有指定fromXType toXType fromYType toYType 时候,
                     默认是以自己为相对参照物            
        长整型值:
            duration  属性为动画持续时间
            说明:   时间以毫秒为单位
-->
</set>
<rotate>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromDegrees="0"
        android:toDegrees="+350"        
        android:pivotX="50%"
        android:pivotY="50%"    
        android:duration="3000" /> 
<!-- rotate 旋转动画效果
       属性:interpolator 指定一个动画的插入器
             在我试验过程中,使用android.res.anim中的资源时候发现
             有三种动画插入器:
                accelerate_decelerate_interpolator   加速-减速 动画插入器
                accelerate_interpolator               加速-动画插入器
                decelerate_interpolator               减速- 动画插入器
             其他的属于特定的动画效果
                          
       浮点数型值:
            fromDegrees 属性为动画起始时物件的角度   
            toDegrees   属性为动画结束时物件旋转的角度 可以大于360度  
       
            说明:
                     当角度为负数——表示逆时针旋转
                     当角度为正数——表示顺时针旋转             
                     (负数from——to正数:顺时针旋转)  
                     (负数from——to负数:逆时针旋转)
                     (正数from——to正数:顺时针旋转)
                     (正数from——to负数:逆时针旋转)      
            pivotX     属性为动画相对于物件的X坐标的开始位置
            pivotY     属性为动画相对于物件的Y坐标的开始位置
               
            说明:        以上两个属性值 从0%-100%中取值
                         50%为物件的X或Y方向坐标上的中点位置
        长整型值:
            duration  属性为动画持续时间
            说明:       时间以毫秒为单位
-->
</set>
如何使用XML中的动画效果
public static Animation loadAnimation (Context context, int id)
//第一个参数Context为程序的上下文   
//第二个参数id为动画XML文件的引用
//例子:
myAnimation= AnimationUtils.loadAnimation(this,R.anim.my_action);
//使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件
 
如何在Java代码中定义动画
//在代码中定义 动画实例对象
private Animation myAnimation_Alpha;
private Animation myAnimation_Scale;
private Animation myAnimation_Translate;
private Animation myAnimation_Rotate;
   
    //根据各自的构造方法来初始化一个实例对象
myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
             Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
myAnimation_Translate=new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,
               Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
 
Android动画解析--JavaCode
AlphaAnimation


① AlphaAnimation类对象定义
private AlphaAnimation myAnimation_Alpha;
② AlphaAnimation类对象构造
AlphaAnimation(float fromAlpha, float toAlpha)
//第一个参数fromAlpha为 动画开始时候透明度
//第二个参数toAlpha为 动画结束时候透明度
myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
//说明:
//                0.0表示完全透明
//                1.0表示完全不透明
③ 设置动画持续时间
myAnimation_Alpha.setDuration(5000);
//设置时间持续时间为 5000毫秒

附件为相关实例:
分享到:
评论

相关推荐

    Android xml布局文件生成工具

    在Android应用开发中,XML布局文件是构建用户界面(UI)的主要方式,它允许开发者以声明式编程的方式定义UI元素的结构和样式。"Android xml布局文件生成工具"是为了解决手动编写XML布局文件繁琐和耗时的问题而设计的...

    android使用xml编写动画以及android的布局动画

    本文将深入探讨如何使用XML在Android中创建和应用动画,以及布局动画的实现方法。 首先,让我们了解XML在Android动画中的作用。XML文件提供了一种声明式的方式来定义动画,这种方式既易于理解和维护,又可以复用。...

    android 动画被父布局遮盖问题解决1

    这个问题在标题“android 动画被父布局遮盖问题解决1”中被提及,并在描述中给出了解决方案。 首先,我们要理解这两个关键属性的作用: 1. `android:clipChildren="false"`:这个属性默认为true,意味着父布局会...

    Android中用xml配置平移动画的代码清单.pdf

    本篇文章将详细探讨如何在Android中使用XML配置平移动画。 首先,我们需要创建一个Android项目,并在项目的res/anim目录下创建一个XML文件来定义动画。在这个例子中,我们有名为`lefttoright.xml`的文件,其内容...

    Android 动画之布局动画

    布局动画是Android中的一个特殊动画类型,它主要用于控件的添加、删除或者布局更改。布局动画由两个主要部分组成:动画集(Animation Set)和动画控制器(Animation Controller)。动画集定义了一系列动画效果,而...

    Android中用xml配置旋转动画项目的要求说明.pdf

    这可以通过在XML布局文件中添加以下代码实现: ```xml android:id="@+id/windmill_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/windmill_...

    Android 为布局添加动画效果

    Android为开发者提供了丰富的动画库,使得在布局中添加各种动态效果变得简单易行。本篇将深入探讨如何在Android中为布局添加动画效果,以实现一个简单的动画示例。 首先,Android动画主要分为两大类:属性动画...

    Android 自定义圆环动画切换、流式布局的实现.rar

    5. 相关的XML布局文件:如activity_main.xml,定义了界面的结构和组件。 总的来说,这个项目展示了Android开发中自定义组件、动画以及灵活布局的应用,对于提升UI设计和交互体验具有很高的学习价值。通过理解和实践...

    Android中用xml配置缩放动画的代码清单.pdf

    本篇将详细介绍如何在Android中使用XML来配置缩放动画。 首先,缩放动画(Scale Animation)是Android补间动画(Tween Animation)的一种,它允许视图在指定时间内进行大小的变化。这种动画可以用于模拟对象的放大...

    Android四等分布局Demo

    在Android中实现四等分布局,开发者通常会用到以下几种方法: 1. **LinearLayout**: 使用`LinearLayout`可以轻松地创建垂直或水平方向的布局。要实现四等分,可以在垂直方向上放置两个`LinearLayout`,每个内部再...

    android Tween动画的xml实现

    本篇文章将深入探讨如何通过XML在Android中实现Tween动画。 首先,让我们了解Tween动画的基本原理。Tween动画基于帧动画,它通过在指定时间内改变对象的属性(如位置、大小、旋转角度或透明度)来创建平滑的过渡...

    Android四种动画框架Demo

    本教程将深入探讨Android的四种基本动画:缩放、平移、渐隐和旋转,并通过一个名为"TestAnimation"的示例项目来展示它们的实现方法。 首先,Android提供了两种主要的动画框架:属性动画(Property Animation)系统...

    android中apk包中的xml文件解密

    本篇文章将详细介绍如何在Android中对APK包中的XML文件进行解密,以及这一过程涉及的相关技术。 首先,我们需要理解APK的结构。APK本质上是一个ZIP文件,包含以下关键部分: 1. **AndroidManifest.xml**:这是应用...

    03_Layout Animation 布局动画Demo下载

    本示例"03_Layout Animation 布局动画Demo下载"提供了一个关于如何在Android中实现布局动画的实践案例。 布局动画主要分为两种类型:进入动画和退出动画。进入动画是指视图首次出现在屏幕上的动画,而退出动画则是...

    Android中四种补间动画的使用示例代码.zip

    Android提供了四种基本类型的补间动画:Translate(平移)、Rotate(旋转)、Scale(缩放)和Alpha(透明度)。这些动画可以帮助开发者创建丰富的用户交互体验,提升应用的视觉吸引力。 一、Translate动画(平移) ...

    android的四种动画效果

    在Android中,可以使用`AnimationDrawable`来实现帧动画。开发者需要准备一系列图片资源,然后在XML中定义动画序列,Android会按照指定的顺序和间隔逐帧显示图片。 **过渡动画(Transition Animation)** 过渡动画...

    android属性动画(伸展收缩)

    在这个"android属性动画(伸展收缩)"的示例中,我们将深入探讨如何利用属性动画来实现布局的伸展和收缩效果。这种效果常见于许多应用程序的展开式菜单、抽屉导航或折叠式控件中,为用户提供更丰富的视觉体验。 ...

    Android帧动画和补间动画总结

    在Android中,我们可以使用`AnimationDrawable`类来实现帧动画。首先,我们需要在资源目录下创建一个XML文件(如`frame_animation.xml`),定义每一帧图片及其持续时间: ```xml &lt;animation-list xmlns:android=...

    Android动画效果的强悍框架

    首先,让我们了解Android中的基本动画类型。Android支持两种主要的动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、透明度等属性,它通过在一段时间内平滑地...

Global site tag (gtag.js) - Google Analytics