在 android 工作室中控制动画持续多长时间

Control how long an animation would last in android studio

我想在我的应用程序中控制动画 运行 的秒数, 但我只找到了两个选项 - 无限 运行 或一次性 运行,我希望动画不止一次 运行 但结束 - 即:动画谈话,我希望在某个时刻,嘴巴会停止移动。

这是我的动画列表xml:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/combi_animation" android:oneshot="false">
    <item android:drawable="@drawable/combi_logo" android:duration="600" />
    <item android:drawable="@drawable/combi_mouth_closed" android:duration="600" />
</animation-list>

还有我的动画代码:

protected void onStart() {
    super.onStart();
    AnimationDrawable rocketAnimation;
    ImageView rocketImage = (ImageView) findViewById(R.id.combi_icon);
    rocketImage.setBackgroundResource(R.drawable.combi_animation);
    rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
    rocketAnimation.start();
}

我想也许会有一个监听器,它会在一段时间后停止动画 由我决定。我的意思是,10 秒后动画将停止。 但是我找不到合适的方法。怎么做到的?

你可以这样做:

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                rocketAnimation.stop();
            }
        },10*1000);