【问题标题】:How to go to other activity without effect (as quiet as possible)? [duplicate]如何在没有效果的情况下进行其他活动(尽可能安静)? [复制]
【发布时间】:2014-03-29 10:24:35
【问题描述】:

我是安卓新手。

就我而言,当我们使用这样的意图开始活动时:

Intent masuk=new Intent(getApplicationContext(),Destination.class);
startActivity(masuk);

它会产生一种效果(不管它叫什么)。在我的程序中,我想让这种效果消失。 你能告诉我正确的方法吗?

【问题讨论】:

    标签: android android-intent effect


    【解决方案1】:

    你可以使用intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

    文档说 -

    public static final int FLAG_ACTIVITY_NO_ANIMATION

    如果在传递给 Context.startActivity() 的 Intent 中设置,此标志将阻止系统应用活动转换动画以进入下一个活动状态。

    这并不意味着动画永远不会运行——如果在显示此处开始的活动之前发生另一个未指定此标志的活动更改,则将使用该转换。当您要进行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应由第一个活动更改驱动,而是由稍后的活动更改驱动。

    就这么简单,

     Intent masuk=new Intent(getApplicationContext(),Destination.class);
     intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
     startActivity(masuk);
    

    【讨论】:

    • 这就是我想要的 :D +1
    • 谢谢。如果对您有帮助,您甚至可以接受我的回答。 :)
    • 事实上,您可以接受任何对您有帮助的机构的回答。 :) 因为所有答案都是正确的。 :)
    【解决方案2】:

    在你的 startActivity() 之后调用这个 Activity 方法;

    overridePendingTransition(0, 0);
    

    应用将在下一个 Activity 中移动,没有任何过渡

    【讨论】:

      【解决方案3】:

      如果您想移除所有 Activities 过渡的动画,而不是为每次更改调用一行代码,您可以在您的应用主题中进行设置:

      <style name="AppBaseTheme" parent="android:Theme.Light">
          <item name="android:windowAnimationStyle">@null</item>
      </style>
      

      然后在你的 Manifest 中设置主题:

      <application
          android:theme="@style/AppBaseTheme" >
          ...
      </application>
      

      【讨论】:

      • 感谢 4 提供了另一种方法。 +1
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2020-04-10
      • 2016-08-20
      • 2015-05-12
      相关资源
      最近更新 更多