Android动画期间更改图像

时间:2011-05-21 13:05:12

标签: android animation

我一直致力于在Android中学习动画,并且根据教程,它到目前为止相当容易。但是,我想让动画比教程教学更进一步。

我想模拟骰子的滚动。这是我将骰子添加到视图中的代码。

<ImageButton android:id="@+id/dice" android:clickable="true"
    android:onClick="rollDie" android:src="@drawable/dice_sides"
    android:layout_alignParentRight="true" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:background="@null" />

来源dice_sides是一个关卡列表。

添加初始动画很简单。在Activity中的rollDie方法中,我这样做了:

/**
 * Roll of the die.
 * 
 * @param view
 *            The view that is being acted upon.
 */
public void rollDie(View view) {
    // Setup the animation.
    Animation move = AnimationUtils.loadAnimation(view.getContext(),
            R.anim.move);
    View dice = findViewById(R.id.dice);
    dice.setAnimation(move);
    move.start();
}

工作正常。模具图像来回摇晃。

我想要发生的是骰子在动画中移动时显示各种数字,直到它停留在动画的最后部分。不幸的是,我找不到如何与第一个动画一起做第二个动画。有人提到使用处理程序,但我不太明白如何在这种情况下使用它们。如果有人能指出我正确的方向,我将不胜感激。

(记录中,这里是dice_sides。)

<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:maxLevel="0" android:drawable="@drawable/die.1" />
    <item android:maxLevel="1" android:drawable="@drawable/die.2" />
    <item android:maxLevel="2" android:drawable="@drawable/die.3" />
    <item android:maxLevel="3" android:drawable="@drawable/die.4" />
    <item android:maxLevel="4" android:drawable="@drawable/die.5" />
    <item android:maxLevel="5" android:drawable="@drawable/die.6" />
</level-list>

1 个答案:

答案 0 :(得分:0)

我花了一点时间来弄明白,但我终于决定如何让动画的两个部分一起工作。 (关于处理程序的提示很明显。)我写了blog post discussing how to get this to work。它可以很容易地外推到更高级的动画。