Android - 移除Activities之间的'闪屏'动画

3

我希望改进我的应用程序用户体验。

我有一个Activity需要一段时间才能加载,因此我正在创建一个伪屏幕,在实际屏幕加载之前。

伪屏幕应该与新屏幕完全相同,以便不可见变化。

然而,Android在两个活动之间进行“闪烁”转换,这导致了更糟糕的体验。这种转换有时取决于手机型号。

是否有一种方法可以防止任何类型的动画,并仅显示活动内容而没有转换或闪烁(黑色或白色)?

3个回答

2
创建一个自定义样式,以禁用动画:
<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>

使用您想要的颜色更改颜色。


1
尝试这样做,overridePendingTransition(0, 0)将强制设备在转换时不使用任何动画。
Intent intent = new Intent(SplashActivity.this, ChatActivity.class);
startActivity(intent);
overridePendingTransition(0, 0);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接