/**
* 作者:crazyandcoder
* 联系:
* QQ : 275137657
* email: lijiwork@sina.com
* 转载请注明出处! */

android 动画属性具体解释

android中的动画属性主要分为四种,各自是alpha、scale、translate、rotate。我们如今来具体了解一下各个类型的意思。然后依据项目的需求要定义自己的动画。

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

载入动画我们能够通过两种方式,一种是xml布局的方式,还有一种就是纯的java代码方式。两种方式各有优势。依据须要能够自己选择。首先我们来看下xml的方式定义动画属性,须要在res文件夹下新建一个文件夹anim,详细的路径为res/anim,里面新建一个img_anim.xml文件。

<?xml version="1.0" encoding="utf-8"?

>
<set> <alpha /> <rotate /> <scale /> <translate /> </set>

接下来我们分别了解当中的每一个属性的内容:

Alpha 透明度渐变的动画效果


  • fromAlpha   动画開始时的透明度, 0.0~1.0之间的float类型的数字,0.0代表全然透明,1.0代表不透明
  • toAlpha       动画结束时的透明度,同上
  • interpolator 动画的显示速度,能够有加速、匀速等状态。
  • duration      动画持续的时间

Scale 尺寸收缩渐变的动画效果

  • fromYScale 代表起点Y方向上相对于自身的缩放比例。0.5缩小一半,1.0无变化,2.0放大一倍
  • fromXScale 代表起点X方向上相对于自身的缩放比例。
  • toXScale、toYScale与上面相对。代表结束时的x、y方向上的缩放比例
  • pivotX,pivotY代表缩放的中心点x、y位置,
简单的来看一个实例:从图像中心点開始,初始图像xy方向缩放为原图的一半,然后放大到原来的2倍。缩放过程期间持续5秒钟。代码为:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <scale
android:duration="5000"
android:fromXScale="0.1"
android:fromYScale="0.1"
android:pivotX="0.5"
android:pivotY="0.5"
android:repeatCount="55"
android:toXScale="2.0"
android:toYScale="2.0" /> </set>



能够看到这仅仅狗有小到大的变化过程,因为是在手机里面模拟动画的,所以缩放过程不是非常平滑,建议真机測试,效果更佳。


Rotate 画面转移旋转动画效果

  • fromDegrees 从初始的角度開始旋转,单位为“ ° ”
  • toDegrees     结束时的度数
我们能够模拟一下载入进度的动画,仅仅须要一张图片,然后以它的中心点进行旋转。就可以。

<?

xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <rotate
android:duration="500"
android:fromDegrees="0"
android:pivotX="50%"
android:interpolator="@android:anim/linear_interpolator"
android:pivotY="50%"
android:repeatCount="-1"
android:toDegrees="360" /> </set>

主类文件代码:
package com.example.animationsdemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView; public class MainActivity extends Activity { private ImageView mImgAnim;
private Animation mAnimation; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mImgAnim=(ImageView)findViewById(R.id.img_anim);
mAnimation=AnimationUtils.loadAnimation(this, R.anim.img_anim);
mImgAnim.startAnimation(mAnimation); } }

实现结果演示:



因为是模拟器的缘故,再加上转化为gif格式的所以中间有点卡顿的现象。建议直接真机測试。


Translate  画面转换位置的动画效果


  • fromXDelta 代表起始方向上x的位置
  • fromYDelta 代表起始方向上y的位置
  • toXDelta     代表结束时方向上x的位置
  • toYDelta     代表结束时方向上y的位置

我们来实现一个水平移动的动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <translate
android:duration="3000"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:repeatCount="-1"
android:toXDelta="200%"
android:toYDelta="0%" /> </set>

效果为:

公共的属性:

  • repeatCount 动画反复的次数,-1代表无线循环
  • fillAfter 假设设置为true的话动画结束后就停止,保持动画结束时的状态。
  • duration 动画持续的时间

android 动画xml属性具体解释的更多相关文章

  1. Android--应用开发3(Android layout XML属性)

    Android layout XML属性 转载:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建 ...

  2. Android中View自己定义XML属性具体解释以及R.attr与R.styleable的差别

    为View加入自己定义XML属性 Android中的各种Widget都提供了非常多XML属性,我们能够利用这些XML属性在layout文件里为Widget的属性赋值. 例如以下所看到的: <Te ...

  3. Android动画(二)-属性动画

    我们在上一篇博客中,讨论了视图动画与帧动画.那么这节课则要讨论更复杂,更强大的Property animation(属性动画). 视图动画使用简单,但是功能也简单.(只有那四种功能).并且也不改变Vi ...

  4. 【Android UI】Android Layout XML属性

    Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用.这里简要介绍Android的Layout和研究一下它的实现. Android有Layout:FrameLayout, ...

  5. Android Layout XML属性

    转载自并做少量添加:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建界面和提高界面在不同分辨率的 ...

  6. Android 动画及属性动画

    Android 平台提供了一套完整的动画框架,在Android3.0之前有两种动画Tween Animation(补间动画)和Frame Animation(帧动画), 对应SDK中的View Ani ...

  7. android AndroidManifest.xml 属性详细解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  8. Android自定义XML属性

    <?xml version="1.0" encoding="utf-8"?> <resources> <declare-style ...

  9. Android自定义XML属性以及遇到的命名空间的问题

    转载请注明出处:http://www.cnblogs.com/kross/p/3458068.html 最近在做一些UI,很蠢很蠢的重复写了很多代码,比如一个自定义的UI Tab,由一个ImageVi ...

随机推荐

  1. delphi网络函数大全

    {=========================================================================功 能: 网络函数库时 间: 2002/10/02版 ...

  2. less04 运算符、命名空间

    less //.wp{ // margin: 0 auto; // background: forestgreen; // width: 450px + 450; //有一个有单位就可以 // hei ...

  3. nyoj--1011--So Easy[II](数学几何水题)

    So Easy[II] 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 这是一道基础的计算几何问题(其实这不提示大家也都看的出).问题描述如下: 给你一个N边形.且N边形 ...

  4. [NOI2002] Robot 解题报告(数论+DP)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1408 Description 3030年,Macsy正在火星部署一批机器人. 第1秒,他 ...

  5. Pickling

    Pickle translates almost any type of object into a string. pickle.dumps takes an object as a paramet ...

  6. 给 “rm” 命令添加个“垃圾桶”

    作者: 2daygeek 译者: LCTT amwps290 人类犯错误是因为我们不是一个可编程设备,所以,在使用 rm 命令时要额外注意,不要在任何时候使用 rm -rf *.当你使用 rm 命令时 ...

  7. Java Web学习总结(20)——基于ZooKeeper的分布式session实现

    1.   认识ZooKeeper ZooKeeper-- "动物园管理员".动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始 ...

  8. Android——4.2 - 3G移植之路之 AT 通信 (四)

    在前文Android--4.2 - 3G移植之路之 reference-ril .pppd 拨号上网 (三)中分析了3G连接网络的流程,当中有说道通过AT指令建立连接, 在这里记录一下3G中的AT通信 ...

  9. java枚举在android项目应用

    今天修复一个公司非常早曾经的android应用功能,里面的代码逻辑已经全然错乱,然后发现返回的数据全然不正确了.然后修复了整整两天.然后我又一次整理了一遍,重构就算不上了. 然后就用上了枚举. 什么是 ...

  10. [9]EC_屏蔽ecshop云提示no_license

    安装完后,打开后台就看到这个,特别烦,想立刻干掉它. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdXB0b255dWFu/font/5a6L5L2T/f ...