当前位置: 首页 > 知识库问答 >
问题:

如何在Android中通过ActivityOptions在finish()上设置动画?

杜轩昂
2023-03-14

我正在开发一个有两个活动的应用程序,Main和Info。应用程序以MainActivity启动,当您单击按钮时,InfoActivity从右侧滑入。当您单击另一个按钮时,InfoActivity将再次滑出到右侧,Main将返回。

以下是我在MainActivity中实现动画和按钮单击的方式:

buttonInfo.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) {
       Intent i = new Intent(getApplicationContext(), Info.class);
       Bundle mAnimate = 
          ActivityOptions.makeCustomAnimation(getApplicationContext(),
           R.anim.ani1,R.anim.ani2).toBundle();

          startActivity(i,mAnimate);
            }
        });

我在InfoActivity中也做了类似的工作,效果很好。但是,我希望并且需要调用finish()而不是startActivity,因为我在MainActivity中有一个服务器连接,当我调用startActivity时,它会断开连接。

有没有关于如何将这样的动画应用于finish()方法的想法或其他建议?

共有3个答案

荆鸿畅
2023-03-14
Bundle options = ActivityOptionsCompat.makeCustomAnimation(this,R.anim.ani1,R.anim.ani2).toBundle();
ActivityCompat.startActivity(this, intent, options)
顾超
2023-03-14

使用

        ActivityCompat.finishAfterTransition(this);

这将完成动画后的活动

马祺
2023-03-14

正如DevBytes:Window Animations演练中所解释的,您可以将Info.class的finish()方法替换为

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.ani2, R.anim.ani1);
}
 类似资料:
  • 问题内容: 我正在测试一个Web应用程序。在主页的导航菜单中,单击节点后, 将调用javascript 函数。我查找了此功能,该页面将在重定向到目标 页面之前设置。 那么,如何为每个请求在JMeter中设置cookie? 问题答案: 在BeanShell预处理器中,放入: 请注意,使用JSR223 PreProcessor + Groovy + Caching会更好地提高 性能

  • 努力让Kotlin在Eclipse上运行。 如果我创建‘新科特林项目',一切都工作。 我的graddle构建脚本: 我做错了什么?

  • 我希望从服务器加载数据并显示到我的应用程序中(

  • 问题内容: 当我使用一些线程将数据写入单个文件时遇到问题。 我设置的缓冲区大小,但是无论设置多少,当缓冲区为8192(默认缓冲区大小)而不是我设置的大小(此处为16384)时,它都会将数据刷新到磁盘。我的代码有问题吗? 这就是我构建的方式: 这是完整的代码: 问题答案: 我通过使用OutputStream而不是writer解决了问题,这是代码:

  • 如果我把筹码拖离初始位置,它应该画一条线。当我移动筹码时,它应该总是画一条线。 这就是我所尝试的: 我将该代码放在芯片的ontouch listener中。您可以在此处下载该项目:https://www.dropbox.com/s/ggfbsbkaokj9vxi/CoachingBoard.rar?dl=0

  • 问题内容: 我想在更改背景之间的命令之间设置延迟。我尝试使用线程计时器,并尝试使用运行和捕获。但这不起作用。我试过了 但这只是变成黑色。 问题答案: 试试这个代码: