【问题标题】:How to access the 2nd screen in a dual screen Android phone with Xamarin如何使用 Xamarin 访问双屏 Android 手机中的第二个屏幕
【发布时间】:2019-02-05 15:44:08
【问题描述】:

我开始着手一个项目,我们需要访问双屏手机的第二个屏幕,我们正在使用 Xamarin。我找不到任何有关如何执行此操作的文档。有人知道这样做的方法吗?

【问题讨论】:

  • 首先,您需要确定哪些 Android API 允许您执行此操作,以及它们是标准 API 还是设备供应商提供的特殊 API。
  • 正如 Jason 所说,一些供应商为他们的多屏设备提供了自定义 API……如果它是基于 ASOP 多屏支持的,那么第二个屏幕是演示输出,由Presentation 处理:developer.android.com/reference/android/app/Presentation
  • 感谢您的回复。我在 Xamarin 文档中找不到任何包含 Presentation 类的示例 c# 代码的内容。我错过了什么吗?
  • 不幸的是,在 Xamarin 中没有直接的方法。它需要 Android API,并在 CustomRenderer 中使用 API。

标签: android xamarin mobile


【解决方案1】:

上述 cmets 专注于第二个外部屏幕,这主要是 2019 年的情况:)

现在有多种双屏设备,包括 Microsoft Surface Duo,以及三星的几种不同风格(Galaxy Fold/2、Galaxy Flip)。

如果您使用的是 Xamarin.Forms,则有一个专门检测和适应双屏的 TwoPaneView 布局控件,还有一个用于设备指标的 DualScreenInfo 帮助器类。 Get started docsmore details 可在 docs.microsoft.com 上找到。看看这些samples 和这个GitHub repo。这些 API 目前是为 Surface Duo 设备硬编码的。

如果您使用的是 Xamarin.Android,您有两种选择:

  • Microsoft 的 DisplayMask API,在 Xamarin.DuoSDK NuGet package 中出现。这也仅针对 Surface Duo - GitHub repo 包含 Xamarin.Android 示例,展示了它的工作原理。
  • Android 的 Jetpack 窗口管理器的绑定,在 Xamarin.AndroidX.Window NuGet package(当前处于 alpha 阶段)。这是适用于来自多个 OEM(例如三星)的折叠设备的“通用”API。由于它仍处于 Alpha 阶段(截至 2021 年 4 月),因此周围的样本不多,但即将提供更好的支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    相关资源
    最近更新 更多