xamarin - 使用 MvvmCross Droid 自定义动画

标签 xamarin mvvmcross xamarin.droid

使用 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/

相关文章:

c# - Xamarin.Forms - 应用程序级别的全局点击事件

dll - 我可以将我自己的 DLL 用于我的 Xamarin iOS 和 Android 项目吗?

viewmodel - MvvmCross ViewModel 缓存和重新初始化

android - Android中的Xamarin蓝牙连接失败

ios - UITextView-如何防止使用只读TextView时显示键盘

xamarin.ios - 在软件键盘上绑定(bind) 'GO' 键

c# - MvvmCross.异常.MvxException : Failed to create setup instance

xamarin - 什么时候会使用非通用版本的 MvxAppCompatSetup<T>?

android - PathTooLongException Xamarin Droid 项目