0

我正在开发一个 android 应用程序,我需要做一个按钮动画。

我是按钮的两个不同图像,我希望按钮的 setBackground 与这 2 个图像以 500 毫秒的延迟交替它们,总共只有 2 秒。

当我运行它们时,我怎么能做到这一点并让程序等待动画结束?

我的按钮有背景和文字。我想要这个顺序:单击按钮->警报对话框->如果是,退出对话框->调用动画(所有活动都等待这个动画)->在动画结束时调用另一个函数并继续程序

问候

4

1 回答 1

1

将下面的 xml 放在名称为“frame”的drawable中(例如,frame0 和 frame1 是两个不同的 umage)

<animation-list android:id="@+id/my_animation"
    android:oneshot="true" xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/frame0" android:duration="500" />
    <item android:drawable="@drawable/frame1" android:duration="500" />
    <item android:drawable="@drawable/frame0" android:duration="500" />
    <item android:drawable="@drawable/frame1" android:duration="500" />
</animation-list> 

将以下代码放入您的布局 xml

      <ImageButton
        android:id="@+id/imageView"
        android:src="@drawable/frame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

在 oncreate() 方法中使用下面的代码

        ImageButton img = (ImageButton)findViewById(R.id.imageView);
        AnimationDrawable frameAnimation =    (AnimationDrawable)img.getDrawable();
        frameAnimation.setCallback(img);
        frameAnimation.setVisible(true, true);
        frameAnimation.start(); 
于 2012-06-01T04:51:44.793 回答