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