如何防止Android中页面转换之间出现白屏?

时间:2016-08-11 12:44:32

标签: c# android xamarin xamarin.forms

我注意到我的Android版Xamarin.Forms应用暂时在页面转换之间显示白屏。在启动和页面加载之间,我想知道在Xamarin.Forms中处理这种情况的最佳方法是什么?

我在资源样式中尝试了这些设置,但没有运气:

<style name="AppDefaultTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowDisablePreview">true</item>
  </style>

在我的清单中:

<application 
android:label="App" 
android:icon="@drawable/AppIcon" 
android:theme="@style/AppDefaultTheme">

以前遇到过这个人吗?你最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

这里有一篇关于Xamarin.Android页面转换的精彩文章:

http://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous/

我最好的方法是将Xamarin MVVM方式与Splash Screen和MainLauncher Activity颜色结合使用:

<style name="Theme.Splash" parent="android:Theme">
     <item name="android:windowBackground">@drawable/splash</item>
     <item name="android:windowNoTitle">true</item>
</style>

#FFFFFF

<style name="AppMainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowBackground">@color/AppBackgroundColor</item>
</style>

对于MVVM Xamarin的方式,我指的是首先显示你可以显示的最简单的UI和显示加载指示器,让用户知道在你执行异步/等待来自ws或者某事的调用时后台正在发生的事情需要时间,看看Slack app作为例子:

Slack App

这就是您的页面转换将如何最小化并为您的应用创建更稳定的用户体验。

你也可以按照这个Jason Smith技术创建一个更快的UI:

http://kent-boogaart.com/blog/jason-smith&#39; S-xamarin表单 - 性能 - 提示