活动更改之前的动画

2024-03-15

我试图做一些简单的事情,但我不明白为什么它不起作用。
我想做的是:当我触摸 ImageView 时,它会在上面显示动画。然后,只有当该动画结束时,它才会开始新的活动。
相反,发生的情况是新活动立即开始并且不显示动画。

这是动画 xml:

<rotate android:interpolator="@android:anim/decelerate_interpolator"
    android:fromDegrees="-45"
    android:toDegrees="-10"
    android:pivotX="90%"
    android:pivotY="10%"
    android:repeatCount="3"
    android:fillAfter="false"
    android:duration="10000" />

这是我用来调用它的代码:

public void onCreate( Bundle savedInstanceState )
{
    final ImageView ib = (ImageView)this.findViewById( R.id.photo );
    ib.setOnClickListener( new OnClickListener( ) {

        @Override
        public void onClick( View v )
        {
            Animation hang_fall = AnimationUtils.loadAnimation( Curriculum.this, R.anim.hang_fall );
            v.startAnimation( hang_fall );
            Intent i = new Intent( ThisActivity.this, NextActivity.class );
            ThisActivity.this.startActivity( i );
        }// end onClick
    } );
}// end onCreate

正如你所看到的,我尝试为动画投入很长的时间,但它不起作用。下一个活动立即开始,它不会等待此活动中的动画完成。
知道为什么会发生这种情况吗?


那是因为您同时启动意图和动画。您需要在动画结束后启动意图,如下所示:

@Override
public void onClick( View v )
{
    Animation hang_fall = AnimationUtils.loadAnimation( Curriculum.this, R.anim.hang_fall );
    hang_fall.setAnimationListener(new Animation.AnimationListener()
        {
            public void onAnimationEnd(Animation animation)
            {
                Intent i = new Intent( ThisActivity.this, NextActivity.class );
                ThisActivity.this.startActivity( i );
            }

            public void onAnimationRepeat(Animation animation)
            {
                // Do nothing!
            }

            public void  onAnimationStart(Animation animation)
            {
                // Do nothing!
            }
        });
    v.startAnimation( hang_fall );
}// end onClick
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

活动更改之前的动画 的相关文章

随机推荐

  • 长双精度文字的 C++ 后缀是什么?

    在 C 和 C 中 不带后缀的浮点文字默认为double 而后缀f意味着一个float 但是获得 a 的后缀是什么long double 在不知道的情况下 我会定义说 const long double x 3 14159265358979
  • 什么是 CDI 豆?

    我有点困惑 我们将 CDI bean 称为我们注入它们的 bean Inject注释或我们使用的bean Inject他们里面 CDI豆是 CDI 可以实例化 管理和注入的类 自动满足其他对象的依赖关系 几乎任何 Java类可以由CDI管理
  • JSF/Primefaces AJAX 请求真的是异步的吗?

    我是 JSF 新手 所以我不知道我面临的行为是否正常 我有这个代码
  • PHP PDO 的单例替代方案

    这是我用来连接到我的课程MySQL数据库 正如你所看到的 我正在使用Singleton Pattern但几乎每个帖子都说这是一个非常糟糕的模式 创建数据库连接类的最佳方法是什么 有更好的模式吗 class DB extends PDO fu
  • C# 中的冗余?

    采取以下片段 List
  • com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:当 autocommit=true 时无法调用回滚

    我在我的应用程序中使用 Jboss 5 0 和 mysql 并且会有很多并发操作 并且数据库包含相当多的记录 这个错误经常出现 时不时地 com mysql jdbc exceptions MySQLNonTransientConnecti
  • 如何在 NodeJs 中运行 SOAP 请求?

    起初这听起来像是一个重复的问题 但我已经浏览了我找到的所有博客 教程 视频 但没有一个真正说明了如何运行该请求 示例 对于 RESTful 请求 您在 NodeJs 中编码 点击路由 https localhost 3000 api get
  • 如何使用 junit 测试 if 语句?

    我似乎无法在网上找到任何解决此问题的教程 我有这个if陈述 if basket getCustomerId null Basket exBasket findBasketByCustomerId basket getCustomerId i
  • 如何使用点击手势显示/隐藏 pageViewController 上的状态栏(iOS8 / Swift)

    浏览所有类似问题的解决方案 我一直试图得到statusBar通过点击手势显示 隐藏 我已经设定View controller based status bar appearance NO在 plist 中 我在我的中尝试了以下代码DataV
  • HTML / CSS:遇到有关网站宽度/高度的问题

    我正在建立一个网站 为人们访问的区域做广告 作为我自己的一项任务 我花了一些时间尝试将迄今为止所做的所有工作都放在一页上 我希望没有滚动条 我不想让滚动条不可见等等 我的意思是让网页适合浏览器的一页 而用户无需出于美观目的而滚动 我尝试过调
  • 如何在Windows服务中检测从睡眠模式唤醒?

    再会 我编写了一个 Windows 服务 它检测 USB 闪存驱动器连接并对连接的驱动器执行某些操作 现在经过测试 我需要在从睡眠模式唤醒后重新处理设备 当服务作为 Windows 程序工作时 我解决了这个问题 为了解决我另外处理DBT D
  • 从 Haskell 代码生成 LLVM IR

    我的目标是获取不同语言 主要是 C C Obj C 和 Haskell 的源代码 并提供有关它们的各种统计信息 例如变量 函数 内存分配 复杂性等的数量 LLVM 似乎是一个完美的工具 因为我可以为这些语言生成位码 并且通过 LLVM 的可
  • .NET 中的别名

    是否可以为现有类型创建别名并在整个项目中使用该别名 例如 创建 CustomerID System UInt32 并使用 CustomerID 作为数据类型 版本 NET Framework 4 0 使用 using 关键字 我们可以创建别
  • Jibx - 如何使用值和属性解组/编组标签?

  • Windows 应用商店应用程序和 F#

    我正在尝试使用 F 创建一个可移植库以与 Windows 应用商店应用程序一起使用 我用一个类创建了一个 fs 文件 module FunctionalRT open System Net open System IO type WebHe
  • Xcode 10 - 界面生成器文档

    我无法将现有故事板的 Interface Builder Document 版本更改为 Xcode 10 0 选择 Xcode 10 0 出现提示时保存并关闭并重新打开我的故事板后 它总是恢复到 Xcode 9 0 即使创建新的故事板 它也
  • 在 MongoDb 中,如何对文档中存在的内部字段进行排序?

    我的文档看起来像这样 field1 somevalue name xtz nested documents array of nested document x 1 y 2 first nested document x 2 y 3 sec
  • 在R中使用正则表达式捕获字符串的一部分

    我有这些字符串 myseq lt c ALM GSK LN 06 ID AS04 LV 06 ID png AS04 SP 06 IP png 我想做的是捕获序列的一部分 ALM GSK LN ID AS04 LV ID AS04 SP I
  • ASP.NET + 访问路径被拒绝

    我有一个 ASP NET 应用程序 它尝试在运行时在 Web 服务器上写入文件 在我的开发环境中 这是有效的 但是 当我将其部署到生产服务器并执行代码时 我收到一条错误消息 Access to the path C Inetpub wwwr
  • 活动更改之前的动画

    我试图做一些简单的事情 但我不明白为什么它不起作用 我想做的是 当我触摸 ImageView 时 它会在上面显示动画 然后 只有当该动画结束时 它才会开始新的活动 相反 发生的情况是新活动立即开始并且不显示动画 这是动画 xml