`
yaochaosheng
  • 浏览: 53359 次
  • 性别: Icon_minigender_1
  • 来自: guangzhou
文章分类
社区版块
存档分类
最新评论

android中四个典型动画设置

阅读更多

现总结android下四个基本动画的方法

 

 

RotateAnimation

ScaleAnimation

AlphaAnimation

TranslateAnimation

 

 

具体用法如下:

1.Animation rotateAnimation = new RotateAnimation(+90f, +270f,
                                                                                   Animation.RELATIVE_TO_SELF, 0.9f,
                                                                                   Animation.RELATIVE_TO_SELF, 0.9f);
    rotateAnimation.setDuration(3000);
    girlImage.startAnimation(rotateAnimation);

    
    /*参数含义:绕什么点旋转多少角度
     * 第一个参数表示动画初始时将原图片旋转90度的状态作为初始状态
     * 第二个参数表示动画结束时该图片应是原图片旋转+270的状态,-270表示逆时针旋转
     * 第三四个参数表示动画旋转所绕的中心点的x位置,这是是相对图片本身0.9倍的x位置(0表图片左上角,1表示图片右下角)
     * 第五六个参数表示动画旋转所绕的中心点的y位置,这里是相对图片本身0.9被的y位置。(如要要以图片为中心旋转则将两个参数改为0.5和0.5)
     * */

2.Animation scaleAnimation = new ScaleAnimation(0f, 2f, 0f, 2f,                   //从0*0到2*2的scale变化规模
                                                                                Animation.RELATIVE_TO_SELF, 1f,
                                                                                Animation.RELATIVE_TO_SELF, 1f);
    scaleAnimation.setDuration(3000);
    girlImage.startAnimation(scaleAnimation);


    /*参数含义:在什么位置将图片的大小从多少变到多少
     * 第一三个参数表示将图片在xy轴上分别以初始为原图片大小0倍的大小初始显示
     * 第二四个参数表示将图片变化结果的大小应该是原图片的2*2倍(横行两倍且纵向两倍)
     * 第五六个参数表示动画初始的x位置,这里是设置为相对图片本身一倍大小的横向x位置
     * 第七八个参数表示动画初始的y位置,这里是设置为相对图片本身一倍大小的纵向y距离。
     * */

3.Animation alphaAnimation = new AlphaAnimation(0.1f, 1.0f);
    alphaAnimation.setDuration(3000);
    girlImage.startAnimation(alphaAnimation);

    
    /*参数含义:将alpha值从多少变化到多少
     * 第一个表示初始的alpha值,为0表示完全透明
     * 第二个参数表示动画结束时的alpha值,为表示完全不透明
     * 这个变化要持续的时间在setDuration中设定!
     * */

4.Animation translateAnimation = new TranslateAnimation(0, 100, 0, 100);
    translateAnimation.setDuration(3000);
    girlImage.startAnimation(translateAnimation);

    
    /*参数含义:将图片从什么位置移动到什么位置
     * 第一三个参数表示动画开始时,原图片左上角在屏幕中所处的坐标位置,本例中是将图片左上角直接放在屏幕左上角作为动画开始
     * 第二四个参数表示动画结束时,原图片左上角在屏幕中所处的位置,本例中是(100,100)的屏幕坐标。
     * */

 

 

 

 

使用xml配置:

注意上面这些动画设置可以在程序代码中设定好,但是android官方推荐使用配置文件的方式来设置动画属性,这样比较方便修改,维护性好。

如rotate.xml设置:

  1. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  2.     <rotate   
  3.         android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
  4.         android:fromDegrees="90" android:toDegrees="+270" android:pivotX="90%"  
  5.         android:pivotY="90%" android:duration="3000">   
  6.     </rotate>   
  7. </set>  

然后再在程序中获取这个xml动画文件,转换为动画对象并播放之;

  1.      mRotateAnimation = AnimationUtils.loadAnimation(mContext, R.anim.rotate);  
  2.      this.startAnimation(mRotateAnimation);  

 

两种方式大同小异,都可以实现基本的动画效果。

分享到:
评论

相关推荐

    Android四等分布局Demo

    "Android四等分布局Demo"是一个典型的实例,它展示了如何将屏幕划分为四个相等的部分,为用户提供清晰、均衡的显示效果。这种布局常用于创建网格系统,如卡片式展示、游戏界面或者控制面板等。 在Android中实现四等...

    android程序,四色小球上升

    在Android编程领域,"四色小球上升"的程序是一个典型的动画效果实现案例,它涉及到图形绘制、事件处理以及多线程等核心概念。在这个项目中,开发者将使用Java语言来构建应用程序,同时可能借助Android Studio提供的...

    android利用viewPager和Fragment实现典型的选项卡界面

    在Android应用开发中,创建一个典型的选项卡界面是常见的需求,可以为用户提供多视图的交互体验。`ViewPager`和`Fragment`是Android SDK提供的强大工具,能够帮助开发者轻松实现这一功能。本教程将深入讲解如何利用...

    Android平板电脑开发实战详解和典型案例 源码手册

    本书《Android平板电脑开发实战详解和典型案例》及其源码手册为开发者提供了一个深入学习和实践的平台,特别是对于初学者而言,这是一个宝贵的资源。 Android平台的开发基于Java语言,使用Android SDK(Software ...

    Android应用程序设计实践指导典型案例

    ### Android应用程序设计实践指导典型案例 #### 一、Android开发环境实践 ##### 1.1 第一个Android程序 **实训目的:** 本实训旨在通过实践操作让读者熟悉Android开发环境的搭建,并通过编写简单的Hello World...

    Android_3D游戏开发技术详解与典型案例

    教程中可能包含多个典型案例,如简单的3D迷宫游戏、角色扮演游戏(RPG)或第一人称射击游戏(FPS)。通过对这些案例的分析,学习者可以深入理解3D游戏开发的全过程。 总之,"Android_3D游戏开发技术详解与典型案例...

    android-PageFlip.zip

    Android平台提供了一系列工具和技术来实现这一目标,其中,3D页面翻转效果就是一个典型的例子。"android-PageFlip"是一个专为Android设计的开源库,它实现了类似真实书籍翻页的3D视觉效果,为应用程序添加了丰富的...

    Android5.0CircularRevealDemo

    一个典型的Circular Reveal页面通常包含三个主要部分: 1. 背景:作为动画的基础,可以是整个屏幕或者一个特定的视图区域。 2. 变化控件:这部分内容将在动画过程中被显示或隐藏,通常是页面的主要内容。 3. 关闭...

    Android应用开发揭秘第四章源码

    10. **myhelloworld**:这是一个典型的Android入门程序,通常用于展示简单的“Hello, World!”输出。开发者可能在此提供了Android开发的基本步骤,包括创建项目、编写布局文件和主活动代码。 通过研究这些源码,...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。 ...

    Android技术面试资料整理

    - **设置主线程超时监控**:可以在代码中设置主线程超时监控,一旦主线程阻塞超过一定时间,就会抛出ANR错误。 #### 17. 避免Force Close的方法 - **异常捕获**:在关键代码段中使用try-catch语句捕获异常。 - **...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    安卓Android源码——四次元新浪微博客户端项目.zip

    《安卓Android源码——四次元新浪微博客户端项目》是一个针对Android平台的开源项目,它提供了对新浪微博客户端的实现。这个项目对于学习和研究Android应用开发,尤其是社交应用的开发具有很高的参考价值。以下是对...

    Android.3D游戏开发技术详解与典型案例【高清】

    ### Android 3D游戏开发技术详解与典型案例 #### 一、引言 随着移动设备性能的不断提升,3D游戏在Android平台上的应用越来越广泛。本篇文章将深入探讨Android平台上3D游戏开发的关键技术和最佳实践,并通过典型...

    Android快速SDK(2)View库QuickView

    一个典型的使用场景是创建一个图片列表,QuickView可以轻松实现图片的无限滚动和加载。首先,创建一个继承自QuickViewAdapter的自定义Adapter,然后在getView方法中根据数据生成对应的视图。接着,设置一个自定义的...

    Android 动漫阅读器源码

    总结来说,"CartoonReader"源码是一个综合性的Android开发实例,涵盖了界面设计、数据处理、网络通信、图片加载、动画特效等多个方面,对于希望提升Android开发技能的程序员来说,是一个非常有价值的参考资料。...

    android接水管源代码

    在Android平台上,开发一款接水管游戏是一个典型的移动应用编程实践,可以锻炼开发者对图形界面、用户交互以及逻辑处理的理解。本项目是一个简单的“接水管”游戏,源自eoeandroid社区,旨在供开发者们学习和交流。 ...

    Android 中文 API(14) —— ViewStub

    #### 四、ViewStub的典型应用场景 - **按需加载**:在复杂布局中,不是所有的子视图都需要立即展示给用户,可以利用`ViewStub`实现延迟加载,提升应用启动速度。 - **状态切换**:在界面状态发生变化时,可以使用`...

    android豆瓣手机客户端源码.zip

    豆瓣手机客户端是Android应用的典型实例,它集成了丰富的功能,如图书搜索、电影推荐、小组讨论等。源码中,我们将重点关注以下几个方面: 1. **网络通信**:豆瓣API的使用,通常采用HTTP或HTTPS协议进行数据交换。...

    android 记事本程序

    这个“android 记事本程序”就是一个典型的实例,其简洁的代码结构和直观的功能实现,便于初学者理解和参考。 一、Android SDK与环境搭建 1. Android Studio:作为Google官方推荐的集成开发环境(IDE),Android ...

Global site tag (gtag.js) - Google Analytics