0

我想要一个动画 gif,因为这在 Android 中是不可能的,我在过渡中使用了单个帧。

除了似乎过渡类只会显示两帧!我看到了其他动画方法,但它们似乎不适用于我正在做的事情,或者看起来像旧的婴儿 android 版本一样老旧且扭曲

<transition xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/activateanima"></item>
  <item android:drawable="@drawable/activateanimb"></item>
  <item android:drawable="@drawable/activateanimc"></item>
  <item android:drawable="@drawable/activateanimc"></item>
  <item android:drawable="@drawable/activateanimd"></item>
  <item android:drawable="@drawable/activateanime"></item>
  <item android:drawable="@drawable/activateanimf"></item>
  <item android:drawable="@drawable/activateanimg"></item>
</transition>

我如何为图像设置动画,使其表现得像动画 gif 一样。这里没有旋转或平移。使用安卓 2.1+

4

2 回答 2

4

你在追求一个Frame animation吗?见:这里。这将播放静止的动画。

来自上述网站的示例:

保存在 res/anim/rocket.xml 的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
    <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>

要使用:

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);

rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();
于 2011-08-22T21:02:03.070 回答
1

只需使用视图翻转器在图像之间翻转。只需将您的进出动画定义为 0 秒长,它们应该是瞬时的。(但要确保使用 alpha)。View Flipper 还具有自动动画和自动启动的优点

于 2011-08-22T21:02:35.647 回答