AnimationDrawable 代表动画资源。Android 既支持逐帧动画,也支持补间动画。

定义补间动画的 XML 资源文件以 元素作为根元素,该元素可以设定如下 4 个元素:

  1. alpha:透明度;
  2. scale:缩放;
  3. translate:位移;
  4. rotate:旋转。

定义动画的 XML 资源文件应该放在 /res/anim 路径下。

、、 都可以指定 android:interpolator 属性,该属性指定动画的变化速度,可以实现匀速、正加速、负加速、无规则变加速等,Android 系统的 R.anim 对象中包含了定制常量,它们定义了不同的动画速度,例如:

  1. linear_interpolator: 匀速
  2. accelerate_interpolator: 加速
  3. decelerate_interpolator: 减速

如果程序需要让 元素下的所有变换效果使用相同的动画速度,则可以指定 android:shareInterpolator="true"。

我们可以通过两张方式访问动画资源文件:

  1. 在 XML 中
@[:]anim/file_name
  1. 在 Java 中
[]R.anim.file_name

下面是一个简单的使用示例:

首先是自定义的 test_anim01.xml 文件的代码:

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

之后是主布局文件的代码:

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

接下来是主程序文件的源代码:

package com.toby.personal.testlistview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {    final private static String TAG = "Toby_Test";    private ImageView imageView;    private Animation animation;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = (ImageView) findViewById(R.id.imageAnim);        animation = AnimationUtils.loadAnimation(this, R.anim.test_anim01);        animation.setFillAfter(true);    }    public void start(View view) {        imageView.startAnimation(animation);    }}

本示例的运行效果,各位可以自行运行测试,如果出现运行不了等问题,可以给我留言。本文参考文献:《疯狂Android讲义(第2版)》

更多相关文章

  1. Android开发--NDK之环境搭建
  2. Android开源库集锦 + Android场景桌面(一) 转自way
  3. 让Android(安卓)变身回一台真正的Linux系统!!!
  4. android系统更新应用的添加
  5. 【转载】Andoid Studio-android开发02-第一个程序-调试-运行方法
  6. Android(安卓)NDK 开发 —— 从 Assets 文件夹加载图片并上传纹
  7. Android(安卓)录音实现(AudioRecord)
  8. Android实现文件上传下载【xUtils工具实现】
  9. Android(安卓)Studio—— jni初体验(一)

随机推荐

  1. Android 滑动侧边栏(Sliding Menu)第一种实
  2. Android应用程序怎么刷到手机上
  3. Android Studio 单刷《第一行代码》系列
  4. [APK破解]终极狂飙3D漂移,无限金钱,解锁全
  5. Android属性gravity与layout_gravity的区
  6. RelativeLayout布局用到的主要属性
  7. Android Studio 单刷《第一行代码》系列
  8. Android Studio 单刷《第一行代码》系列
  9. 在android平台上如何实现H264解码
  10. Android 打包签名