问题描述
在Flutter中使用googleSignIn()方法登录后,屏幕上出现了意外的过渡(示例:https://i.stack.imgur.com/CWIhL.gif)。
这不是Android模拟器的小故障,它也发生在我的物理设备上。
我发现的唯一解决方案是将以下行添加到styles.xml以禁用Transition:
<item name="android:windowAnimationStyle">@null</item>
但是,我不想禁用整个应用程序的动画。如何仅在登录屏幕上将其禁用?我不知道为整个应用程序禁用所有windowAnimationStyle可能会发生什么副作用?
解决方法
您也许可以为单个视图创建样式,或者为特定活动或视图层次结构创建主题。以下链接给出了一个示例:https://gist.github.com/cesarferreira/38bf26a68317ac15f1dc
<!-- Developer should create a style -->
<style name="noAnimTheme" parent="android:Theme">
<item name="android:windowAnimationStyle">@null</item>
</style>
<!-- Then in manifest set it as theme for activity or whole application. -->
<activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme">
</activity>
此处提供了有关样式和主题的更多信息:https://developer.android.com/guide/topics/ui/look-and-feel/themes#Styles