【问题标题】:On Android, app jumps back to default Page on orientation change在 Android 上,应用程序在方向更改时跳回默认页面
【发布时间】:2014-07-29 13:01:27
【问题描述】:

我在 iOS 和 Android 上测试了我的 Xamarin.Forms 应用程序,并在我更改移动设备的方向时发现了这种差异:

  • 在 iOS 上,应用保留当前页面
  • 在 Android 上,应用似乎使用默认页面重新启动(或者可能会弹出除第一个页面之外的所有页面)。

由于我从未在其他 Android 应用中看到过这种行为,我想禁用它。此外,我不认为这种行为是 Android 的默认行为。

我需要设置哪个属性才能使 Android 目标像 iOS 目标一样?

【问题讨论】:

  • 我相信 Xamarin 论坛上有一个关于此的主题,但我不知道是否有解决方案。由于表单似乎绑定到单个活动,我将从查看是否可以将页面类型/信息保存到包中并在还原时恢复状态开始。不幸的是,表单类目前不可序列化。快速而肮脏的解决方法是只支持一个方向,但这不是一个好的长期解决方案。总的来说,我认为 Xamarin Forms 还不够成熟,无法取代完全原生的视图控制器。

标签: xamarin xamarin.forms


【解决方案1】:

您检查过您的 MainActivity 的 ActivityAttribute 吗?它应该指定ConfigChanges.Orientation

类似的东西

using Android.Content.PM;

[Activity(Label = "%Your app name%", MainLauncher = true, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]

如果未设置 ConfigChanges.Orientation,操作系统将在方向更改时重新创建 Activity。如果设置了,则表示您将自己管理方向更改。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2012-03-20
    相关资源
    最近更新 更多