如何在第一个动画之后播放第二个动画?

传感器

我有2animation,我想先是,我的背景以第一个动画显示,当第一个动画完成后,我的4个按钮以第二个动画显示。背景和按钮位于一个XML文件中。我想当动画运行时,onTouch()方法不起作用。

我搜索并说使用AnimationListener,但是我不能使用它!

这是我的代码,请阅读并帮助我

public class Splash extends Activity {

Animation animation1;
Animation animation2;
Animation animation3;
ImageView image;
ImageButton circleProduct;
ImageButton circleIntroduce;
ImageButton circleMore;
ImageButton circleContact;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    animation1=AnimationUtils.loadAnimation(this, R.anim.bounce);
    animation1.setAnimationListener(this);
    animation2=AnimationUtils.loadAnimation(this, R.anim.push_left_out);
    animation2.setAnimationListener(this);
    animation3=AnimationUtils.loadAnimation(this, R.anim.push_left_out);
    animation3.setAnimationListener(this);

    image=(ImageView)findViewById(R.id.img);
    image.startAnimation(animation1);

    circleProduct=(ImageButton)findViewById(R.id.btnCircleProduct);
    circleIntroduce=(ImageButton)findViewById(R.id.btnCircleIntroduce);
    circleMore=(ImageButton)findViewById(R.id.btnCircleMore);
    circleContact=(ImageButton)findViewById(R.id.btnCircleContact);

    circleProduct.setVisibility(View.VISIBLE);
    circleProduct.startAnimation(animation2);
    circleContact.setVisibility(View.VISIBLE);
    circleContact.startAnimation(animation2);
    circleIntroduce.setVisibility(View.VISIBLE);
    circleIntroduce.startAnimation(animation3);
    circleMore.setVisibility(View.VISIBLE);
    circleMore.startAnimation(animation3);

    image.setOnTouchListener(onTouchListener);
    circleProduct.setOnClickListener(onClickListener);
}

private OnTouchListener onTouchListener=new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        Log.i("clicked", "on the Splas");
        Intent intent=new Intent(Splash.this,MainActivity.class);
        startActivity(intent);
        //finish();
        return false;
    }
};

private OnClickListener onClickListener=new OnClickListener(){

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Log.i("circuleProduct", "clicked");
        Intent intent=new Intent(Splash.this,Product.class);
        startActivity(intent);
    }

};

 }

谢谢

Arjunkn

只需将animationListner添加到第一个动画中,然后在其onAnimationEnd方法中启动第二个动画即可

试试下面的代码

删除其他动画列表器

animation1.setAnimationListener(new Animation.AnimationListener() {

        public void onAnimationStart(Animation arg0) {
            // TODO Auto-generated method stub

        }

        public void onAnimationRepeat(Animation arg0) {
            // TODO Auto-generated method stub

        }

        public void onAnimationEnd(Animation arg0) {
            // TODO Auto-generated method stub

            yourView.startAnimation(animation2);
        }
    });

希望对您有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在第一个动画css的位置开始第二个动画css

第二个动画:悬停鼠标时重置第一个动画

在元素的第二个动画上调用Promise函数而不是第一个?

如何在第一个div的末尾开始第二个div?

一个SVG的JQuery函数,在第一个动画完成后立即执行第二个动画?

JavaFX 在第一个窗口之后显示第二个窗口

我可以立即停止第一个 UIView 动画并在同一视图上启动第二个动画吗?

如何在数据框中的第一个特定单词之后找到第二个特定单词

如何在点击时播放第一个音频,在第二次点击时播放第二个音频,在第三次点击时播放第三个音频,Jquery

如何在一行中使第一个 div 比第二个更宽

如何在Java中获取第二个单词的第一个字符

如何在Excel列表中选择第一个(第二个,...)非空元素?

如何在第一个文本视图完成后添加第二个文本视图

如何在我的第一个循环中包含第二个循环

如何在laravel中将第一个循环分配给第二个循环等等?

如何在WPF中从第一个窗口打开第二个窗口?

如何在Laravel中从第二个模型到第一个模型获取搜索数据?

如何在保持第一个命令运行的同时防止出现第二个命令?

如果需要第一个功能,该如何在脚本中执行第二个功能?

如何在条件第二个查询中使用第一个查询的结果?

如何在第二个引号和第一个逗号之间提取文本?

目标 C - 如何在触摸第一个 SKnode 时禁用第二个 Sknode 的触摸

如何在列表python中找到第二个元素和第一个元素的差异

SwiftUI:如何在关闭第一个工作表时显示第二个工作表

如何在javascript的replace方法的第二个参数中引用第一个参数?

javascript如何在第二个函数中使用第一个函数输出

如何根据第一个响应进行第二个API调用?

如何仅选择第二个li元素的第一个孩子

如何用第二个序列的元素填充第一个序列