微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Android 演示文稿中显示 Xamarin.Forms ContentPage 等?

如何解决如何在 Android 演示文稿中显示 Xamarin.Forms ContentPage 等?

我的 Xamarin.Forms 应用面向异国情调的多屏 Android 设备。我正在尝试使用 Android 的 MediaRouter 在辅助屏幕上显示 Xamarin.Forms ContentPage。我已经能够使用 MediaRouter API 在辅助屏幕上显示 Android 演示文稿,但无法执行下一步并在我的 Xamarin.Forms 视图中进行切换。

在我所知道的原生 Xamarin.Android 布局中显示 ContentPage 的唯一方法是将布局中的片段替换为使用 Xamarin.Forms CreateSupportFragment API 创建的片段,如官方 Xamarin 中所示.Forms 示例,Native2Forms

但是,该方法使用 FragmentManager 来执行交换。据我所知,没有 FragmentManager 能够访问 Presentation 显示的布局中的项目。因此,似乎不可能使用“Native2Forms”技术在辅助屏幕上显示 ContentPage。

因此,假设我的 Presentation 显示一个包含 FrameLayout 的布局:

  <FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/fragment_frame_layout" />

如果我尝试交换 Xamarin.Forms ContentPage(我尝试通过多种方式获取 FragmentManager,包括从 MainActivity 和通过 CrossCurrentActivity,结果都相同)..

fragmentManager
    .BeginTransaction()
    .Replace(Resource.Id.fragment_frame_layout,noteEntryFragment)
    .Commit();

抛出以下异常:

java.lang.IllegalArgumentException: '没有找到 id 0x7f0900fa (com.myapp.mobileapp:id/fragment_frame_layout) 的视图,用于片段 PageExtensions_EmbeddedSupportFragment{c1a5ea} (a4ea714e-f673-4f27f0900fa) 4f2900fac=0dfc70dfc} /p>

如何弥合原生 Android 和 Xamarin.Forms 之间的这一差距,以在辅助屏幕的演示文稿中显示 ContentPage?我会接受任何允许我嵌入任何类型的 Xamarin.Forms 视图的答案。

注意:我尝试为此使用 Surface Duo SDK 而不是 MediaRouter 方法,但无法识别辅助屏幕。因此该 SDK 似乎特定于 Surface Duo,并且不适用于我的设备。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。