我有两个活动 A 和 B。我想在 Activity A 调用 B 时收缩动画并在 Activity B 调用 A 时最大化动画。我不需要动画 xml 文件。
当我们在 Android 中调用另一个 Activity 时,它会给出默认动画,然后调用收缩动画。
我想要的是默认动画不应该出现,而我想要的动画应该出现。
我们真的可以在调用另一个 Activity 时给出动画吗?
原文由 sunil 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有两个活动 A 和 B。我想在 Activity A 调用 B 时收缩动画并在 Activity B 调用 A 时最大化动画。我不需要动画 xml 文件。
当我们在 Android 中调用另一个 Activity 时,它会给出默认动画,然后调用收缩动画。
我想要的是默认动画不应该出现,而我想要的动画应该出现。
我们真的可以在调用另一个 Activity 时给出动画吗?
原文由 sunil 发布,翻译遵循 CC BY-SA 4.0 许可协议
您必须使用 OverridePendingTransition 方法来实现它,它在 Activity 类 中。 apidemos 示例的 res/anim 文件夹中的示例动画。核实。不仅仅是查看 ApiDemos/App/Activity/animation 中的演示。
例子:
@Override
public void onResume(){
// TODO LC: preliminary support for views transitions
this.overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
}
原文由 Praveen 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
从 API 16 开始,您可以在调用 Context.startActivity(Intent, Bundle) 或相关方法时提供活动选项包。它是通过 ActivityOptions 构建器创建的:
如果您使用支持库,请不要忘记查看 ActivityOptions 构建器和 ActivityOptionsCompat 的其他方法。
API 5+:
对于面向 API 级别 5+ 的应用程序,有活动
overridePendingTransition
方法。传入和传出动画需要两个资源 ID。0
的 id 将禁用动画。在startActivity
调用之后立即调用它。IE:
API 3+:
您可以在意图中使用
Intent.FLAG_ACTIVITY_NO_ANIMATION
标志来阻止默认动画(从右侧滑入)。IE:
然后在你的活动中你只需要指定你自己的动画。
这也适用于 1.5 API(级别 3)。