繁体   English   中英

在 android 中进入 PIP 模式时如何覆盖 animation

[英]How to override animation when entering in PIP mode in android

我的PIPActivity只有一个图像视图,我在onCreate()中进入 PIP 模式,即PIPActivity仅在 PIP 模式下显示图像。 现在,当我开始PIPActivity时,有一些 animation 会慢慢过渡到 PIP 模式。 在此过渡期间,图像被奇怪地拉伸。 为避免这种情况,如何在进入 PIP 模式时停止 animation? 我已经试过了

  • 在 onCreate() 调用 overridePendingTransition(0, 0)。
  • 在启动活动时添加Intent.FLAG_ACTIVITY_NO_ANIMATION
  • 在活动主题中设置<item name="android:windowAnimationStyle">@null</item>

您可能想查看ActivityOptions及其各种方法。

创建一个 ActivityOptions 指定自定义 animation 以在显示活动时运行。

ActivityOptions options = ActivityOptions.makeCustomAnimation(MainActivity.this, 0, 0);
startActivity(intent, options.toBundle());

或者通过使用setExitTransition和/或setSharedElementExitTransition

getWindow().requestFeature(android.view.Window.FEATURE_ACTIVITY_TRANSITIONS);

//These functions define the exit transition for the calling activity.
getWindow().setExitTransition(null);
getWindow().setSharedElementExitTransition(null);

setContentView(R.layout.mainActivity);

笔记

在启动器活动中实现其中之一,而不是在 PIPActivity 中。

使用此方法并在启动器活动中实现它:

getWindow().requestFeature(android.view.Window.FEATURE_ACTIVITY_TRANSITIONS);
getWindow().setExitTransition(null);
getWindow().setSharedElementExitTransition(null);
setContentView(R.layout.mainActivity);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM