使用 MvvmCross,如果我想要一个按钮来打开一个新屏幕,我连接命令处理程序并使用 ShowViewModel,如下所示:
ShowViewModel<InfoViewModel>();
无论如何插入自定义动画,这是非常特定于平台的,并且仍然在核心中使用 ShowViewModel 吗?如果我在 Droid 项目中这样做,它看起来像这样:
OverridePendingTransition(Resource.Animation.push_up_in, Resource.Animation.push_up_out);
所以基本上我想要一种从 Droid 项目中 Hook 到 MvvmCross Activity 创建的方法。
最佳答案
终于成功了!
在设置中覆盖 CreateViewPresenter()
public class Setup : MvxAndroidSetup
{
...
...
protected override IMvxAndroidViewPresenter CreateViewPresenter()
{
return new CustomPresenter();
}
}
并创建了一个 CustomPresenter 类来制作动画:
public class CustomPresenter : MvxAndroidViewPresenter
{
protected override void Show(Intent intent)
{
Activity.StartActivity(intent);
Activity.OverridePendingTransition(Resource.Animator.slide_in_left, Resource.Animator.slide_out_left);
}
}
关于xamarin - 使用 MvvmCross Droid 自定义动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598069/