0

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

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

2 回答 2

0

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

getWindow().requestFeature(android.view.Window.FEATURE_ACTIVITY_TRANSITIONS);
getWindow().setExitTransition(null);
getWindow().setSharedElementExitTransition(null);
setContentView(R.layout.mainActivity);
于 2021-06-10T08:34:33.903 回答
0

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

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

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 中。

于 2021-06-09T07:21:52.763 回答