我只是习惯了Xamarin.Forms并且似乎找不到在暂停/恢复后恢复导航堆栈的标准方法(比如设备旋转时)。
我正在使用MVVM和Xamarin.Forms.Labs的东西,所以我可以获得一个IXFormsApp,并获得Resumed等的触发器,但我不明白我的意思是如何在我的应用程序中恢复导航堆栈? / p>
例如,如果我有我的HomeView和HomeViewModel,它有一个项目的列表视图。有人单击列表视图项,它导航到我的ItemView和ItemViewModel。然后用户旋转屏幕 - 如何将它们恢复到原来的位置?
有人能指出我正确的方向吗?
由于
马特
答案 0 :(得分: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将在其自己的布局中处理某种程度的方向更改。