【问题标题】:Android - Remove the 'flash' animation between ActivitiesAndroid - 删除活动之间的“闪光”动画
【发布时间】:2015-04-15 16:46:43
【问题描述】:
我想改善我的应用的用户体验。
我有一个 Activity 需要一些时间来加载,所以我在加载实际屏幕之前创建了一个假屏幕。
假屏幕应该看起来和新屏幕一模一样,这样变化是不可见的。
但是,Android 在两个 Activity 之间进行了“华丽的”转换,导致体验更差。这种转变有时取决于手机型号。
有没有办法阻止任何类型的动画,只显示活动内容而没有过渡或闪光(黑色或白色)?
【问题讨论】:
标签:
android
animation
android-activity
transition
user-experience
【解决方案1】:
创建一个禁用动画的自定义样式:
<style name="noAnimation" parent="android:Theme">
<item name="android:windowAnimationStyle">@null</item>
</style>
并在AndroidManifest.xml 文件中为您的活动设置它:
<activity android:name=".YourActivity" android:theme="@style/noAnimation">
</activity>
或为您的整个应用程序设置它:
<application android:theme="@style/noAnimation">
【解决方案2】:
在你的 xml 主题中试试这个:
<item name="android:windowBackground">@color/black</item>
<item name="android:colorBackground">@color/black</item>
用你想要的颜色改变颜色。
【解决方案3】:
试试这样,overridePendingTransition(0, 0) 将强制设备不使用任何动画进行过渡。
Intent intent = new Intent(SplashActivity.this, ChatActivity.class);
startActivity(intent);
overridePendingTransition(0, 0);