我有三个视图具有相同的翻译动画。使用0-2的随机数,三个视图中的一个是动画。我很难重复动画和每个动画的延迟(应该在2000ms左右)。
Animation move = AnimationUtils.loadAnimation(this, R.anim.move);
View view1 = (View) findViewById(R.id.view1);
View view2 = (View) findViewById(R.id.view2);
View view3 = (View) findViewById(R.id.view3);
Random color_box_fall_random = new Random();
int random_int = (color_box_fall_random.nextInt(2));
for (int i = 0; i < 10; i++){
if (random_int == 0){
view1.startAnimation(move);
}
else if (random_int == 1){
view2.startAnimation(move);
}
else{
view3.startAnimation(move);
}
}
move.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:startOffset="2000"
android:fromYDelta="-200"
android:toYDelta="50%p"
android:duration="2000" />
</set>
您需要使用<code>AnimationListener
Animation move;
View view1;
View view2;
View view3;
Random color_box_fall_random;
int i;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
move = AnimationUtils.loadAnimation(this, R.anim.move);
view1 = findViewById(R.id.view1);
view2 = findViewById(R.id.view2);
view3 = findViewById(R.id.view3);
color_box_fall_random = new Random();
handler = new Handler();
move.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
i++;
if(i < 10) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
switch(color_box_fall_random.nextInt(2)){
case 0:
view1.startAnimation(move);
break;
case 1:
view2.startAnimation(move);
break;
case 2:
view3.startAnimation(move);
break;
}
}
}, 2000);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
switch(color_box_fall_random.nextInt(2)){
case 0:
view1.startAnimation(move);
break;
case 1:
view2.startAnimation(move);
break;
case 2:
view3.startAnimation(move);
break;
}
}
我一直试图重复一个特定的动画,但动画只运行一次,不会重复本身。
对于android新手,我想制作一些平滑的动画。 我在设备上有一个文件,其中包含效果,每个效果都是一个动画。该文件告诉我何时播放效果以及效果持续时间。 问题是我不能链动画师动态设置: 现在我如何从我的AnimatorSet()列表中得到mainAnimatorSet();每个动画从最后一个动画的结尾开始。 这不起作用。谢谢
我正在尝试让文本视图逐个放大/缩小4倍。它只工作一次,然后就死了。
主要内容:本节引言:,1.帧动画概念以及用法,2.使用示例:,3.本节示例代码和Gif帧提取工具下载,本节小结:本节引言: 从本节开始我们来探究Android中的动画,毕竟在APP中添加上一些动画,会让我们的应用变得 很炫,比如最简单的关开Activity,当然自定义控件动画肯定必不可少啦~而Android中的动画 分为三大类,逐帧动画(Frame)以及补间动画(Tween),还有Android 3.0以后引入的属性动画 (Property),而本节给大家带来的是第一种动画——逐帧动画的一个基本
我正在动画一个或多个div滚动到视图中。我是通过将动画css拆分成几个类(见下文)来做到这一点的。 动画div最初将具有类'.mpact-animated'和'.mpact-animated-pause'。div还将具有以下类之一'.mpact-shake'、'.mpact-heartbeat'或'.mpact-bounce'。这些动画类是由用户选择的,所以我不知道哪一个是要实现的。 当页面滚动时
主要内容:本节引言:,1.补间动画的分类和Interpolator,2.各种动画的详细讲解,3.写个例子来体验下,4.动画状态的监听,5.为View动态设置动画效果,6.为Fragment设置过渡动画,7.为Activity设置过场动画,8.写个进入APP后登陆注册按钮从底部弹出动画效果的例子:,9.本节代码示例下载,本节小结:本节引言: 本节带来的是Android三种动画中的第二种——补间动画(Tween),和前面学的帧动画不同,帧动画 是通过连续播放图片来模拟动画效果,而补间动画开发者只需指