是否可以向MvxSplashScreenActivity添加布局?我像所有其他活动一样覆盖了OnViewModelSet,并放置了以下代码:
protected override void OnViewModelSet()
{
base.OnViewModelSet ();
SetContentView (Resource.Layout.SplashScreen);
}
我想加载的布局是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<ImageView
android:src="@drawable/applogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView1"
android:layout_centerInParent="true" /></RelativeLayout>
我得到以下例外:
Cirrious.CrossCore.Exceptions.MvxException:无法解析类型 Cirrious.MvvmCross.Binding.BindingContext.IMvxBindingContextStack`1 [Cirrious.MvvmCross.Binding.Droid.BindingContext.IMvxAndroidBindingContext, Cirrious.MvvmCross.Binding.Droid,Version = 1.0.0.0,Culture = neutral, 公钥=空]]
我似乎无法在网上找到有关mvvmcross启动画面的任何内容..
Ahy Ideas?
答案 0 :(得分:1)
您不能在启动画面中使用数据绑定布局 - 在mvvmcross完全启动之前会显示启动画面。
但是,对于简单的布局,您确实将资源Id传递给基类构造函数:
public class SplashScreen : MvxSplashScreenActivity
{
public SplashScreen()
: base(Resource.Layout.SplashScreen)
{
}
}
此外 - 为避免黑屏开始屏幕 - 大多数人使用主题在其闪屏中指定整个屏幕图像 - 请参阅由nuget提供的“标准”启动画面 - https://github.com/slodge/MvvmCross/blob/v3/nuspec/DroidContent/SplashScreen.cs.pp
答案 1 :(得分:0)
确保在调用OnCreate之前初始化安装程序。
protected override void OnCreate(Bundle bundle)
{
var setupSingleton = MvxAndroidSetupSingleton.EnsureSingletonAvailable(this);
setupSingleton.EnsureInitialized();
base.OnCreate(bundle);
}