【问题标题】:How to restore the navigation stack after page suspend / resume in Xamarin.Forms如何在 Xamarin.Forms 中的页面暂停/恢复后恢复导航堆栈
【发布时间】:2014-10-27 19:39:24
【问题描述】:

我刚刚习惯了 Xamarin.Forms,似乎找不到在暂停/恢复后恢复导航堆栈的标准方法(比如设备旋转时)。

我正在使用 MVVM 和 Xamarin.Forms.Labs 的东西,所以我可以获得一个 IXFormsApp,并获得 Resumed 等的触发器,但我不明白我打算如何恢复我的应用程序中的导航堆栈?

例如,如果我有我的 HomeView 和 HomeViewModel,它有一个项目的列表视图。有人单击列表视图项,它导航到我的 ItemView 和 ItemViewModel。然后用户旋转屏幕 - 我如何将它们恢复到原来的位置?

谁能指出我正确的方向?

谢谢

马特

【问题讨论】:

    标签: c# xamarin.ios xamarin xamarin.forms


    【解决方案1】:

    事实证明,从 Xamarin.Forms 1.2(可能是 1.3)开始,目前对此的答案是向您的 android 活动添加以下更改。

    你的 MainActivity 应该是这样的:

    [Activity(Label = "SomeName", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light")]
    public class MainActivity : XFormsApplicationDroid
    {
    ...
    }
    

    您需要告诉 Android 在屏幕尺寸或方向更改期间不要破坏和恢复您的活动:

    [Activity(Label = "SomeName", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : XFormsApplicationDroid
    {
    ...
    }
    

    Xamarin.Forms 将在其自己的布局中处理一定程度的方向更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多