如何访问动画列表中的特定项目

时间:2015-04-09 08:20:40

标签: android android-animation

我有一个包含以下项目的动画列表

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res
/android"android:oneshot="true">

 <item
    android:drawable="@drawable/b1"
    android:duration="500"/>

<item
    android:drawable="@drawable/delay"
    android:duration="1000"/>

<item
    android:drawable="@drawable/b1"
    android:duration="500"/>

<item
    android:drawable="@drawable/delay"
    android:duration="1000"/>
<item
    android:drawable="@drawable/b2"
    android:duration="500"/>

现在,当动画正在运行或已经通过以下方式启动时 代码,

img1 = (ImageView)findViewById(R.id.stimulichangeid);
img1.setBackgroundResource(R.drawable.erp_simple_presentationlist1);
AnimationDrawable splashanimation = (AnimationDrawable)img1.getBackground();
splashanimation.start();

我想在动画列表“b2”drawable
中点击一些按钮 出现在imageview上。但是在正在运行的动画中,如何访问 特殊项目(在我的情况下是b2)。当b2到来时,我想按一个按钮 做点什么我正在考虑为每个项目分配id。如是, 然后如何在其中使用其id访问该特定项目 动画正在运行。请提出一些方法来解决这个问题。 提前谢谢

1 个答案:

答案 0 :(得分:0)

AnimationDrawable不是一种布局,因此您无法通过订单捕获任何子视图。它只是用一个新的替换drawable,所以你需要一种监听器返回新drawable的顺序。本机实现没有这种监听器。

There是一些自定义的AnimationDrawables,您可以根据需要修改其中一个。