美文网首页
可绘制动画

可绘制动画

作者: f6a40ba32131 | 来源:发表于2016-12-30 14:44 被阅读5次

可绘制动画可让您一个接一个地加载一系列Drawable资源来创建动画。 这是一个传统的动画,在它的意义上,它是用一系列不同的图像,按顺序播放,像一卷​​电影。 该AnimationDrawable类是可绘制动画的基础。

虽然你可以在你的代码中定义动画的帧,使用AnimationDrawable类的API,它更简单地与列出组成动画帧一个XML文件来实现的。 对于这种动画的XML文件所属的res/drawable/你的Android项目的目录中。 在这种情况下,指令是动画的每个帧的顺序和持续时间。

该XML文件包含一个的<animation-list>元素为根节点和一系列子<item>的每个限定一帧的节点:对于帧和帧持续时间的绘制资源。 下面是一个Drawable动画的示例XML文件:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true">
    <item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
</animation-list>

此动画只运行三帧。 通过设定android:oneshot列表的属性设置为true,它会循环只有一次,然后停止并按住最后一帧。 如果它被设置为false,那么动画将循环。 与该XML保存为rocket_thrust.xmlres/drawable/项目的目录中,它可以被添加作为背景图像以一个视图,然后调用播放。 这里有一个例子活动,其中动画添加到一个ImageView ,然后当屏幕被触摸动画:

AnimationDrawable rocketAnimation;

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
  rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
  rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
}

public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_DOWN) {
    rocketAnimation.start();
    return true;
  }
  return super.onTouchEvent(event);
}

值得注意的是,它是重要的start()不能在期间调用叫上AnimationDrawable方法onCreate()的活性的方法,因为AnimationDrawable尚未完全附着到窗口。 如果你想立即播放动画,而不需要互动,那么你可能想从调用它onWindowFocusChanged()在你的活动方法,当Android将你的窗口,成为关注的焦点,这将被调用。

有关XML语法的详细信息,可标记和属性,看动画资源

相关文章

  • 可绘制动画

    可绘制动画可让您一个接一个地加载一系列Drawable资源来创建动画。 这是一个传统的动画,在它的意义上,它是用一...

  • 动画绘制

  • android 对绘制的文本添加动画

    场景: 存在较多绘制内容的区域需要某些动画效果, 需要尽量少修改视图的绘制方法,做到动画与绘制分离。 看个简单例子...

  • Canvas动画

    1:Canvas动画原理 快速切换的静态画面。 2:基本步骤 绘制 - 清空 - 绘制 - 清空 - 绘制 ......

  • 小米手环 计步数据的展示View

    废话少说,先来张效果图 源码下载,欢迎Star刻度线的绘制: 进度条的动画绘制 数据加载动画的绘制 源码下载参考项...

  • 动画

    隐式动画 CABaseAnimation 坐标绘制 绘制工具: Paint Code CAKeyFrameAnim...

  • 封装环形进度条

    功能: 1. 可改变 背景/中心图标/文字描述 (此进度图显示的刻度为背景图片)2. 绘制进度时有动画和非动画2种...

  • 素材制作软件

    动画制作软件 一、绘制和编辑软件 这类软件具有丰富的图形绘制和上色功能,并具有自动动画生成功能,是原创动画的重要工...

  • CALayer 和 CAAnimation

    Layer Layer可以绘制的动画动画类型 CALayer position 和 anchorpoint Lay...

  • iOS CAShapeLayer 绘制柱状图动画

    图形绘制 线条绘制 单轨迹线条绘制设置线宽,动画进可以通过 KeyPath 设置为 strokeEnd 进行渲染,...

网友评论

      本文标题:可绘制动画

      本文链接:https://www.haomeiwen.com/subject/rpumvttx.html