【问题标题】:Is there any way to use UnityPlayerActivity as AppcompatActivity?有没有办法将 UnityPlayerActivity 用作 AppcompatActivity?
【发布时间】:2020-07-04 23:54:50
【问题描述】:

我正在使用 android studio 制作统一插件,但这里有问题。一些 SDK 提供仅使用 AppcompatActivity 制作片段,但我的 MainActivity,确切地说是 UnityPlayerActivity 不是 AppCompatActivity。所以它会导致错误...任何人都可以解决这个问题?

【问题讨论】:

  • 你能把错误贴出来吗?
  • @Lotan 这与任何错误无关。但是我们不能在那些接受 appcomatactivity 或 fragmentactivity 作为参数的 sdk 中使用 activity 作为参数。

标签: android unity3d


【解决方案1】:

如果不了解您尝试与之交互的 SDK 的更多信息,就很难确切地告诉您如何解决您的问题。但是,有关这些课程的一些背景信息可能会对您有所帮助:

UnityPlayerActivity 是 Android 的 Activity 类的子类。这是用于现代 Android 活动的主要类。

AppCompatActivity 也是Activity 类的子类,旨在让您在较旧的 Android 设备上使用某些功能(例如片段)。来自the docs

希望使用某些较新平台的活动的基类 旧 Android 设备上的功能。其中一些向后移植的功能 包括:

  • 通过 setSupportActionBar(Toolbar) API 使用操作栏,包括操作项、导航模式等。
  • 通过使用 Theme.AppCompat.DayNight 主题和 AppCompatDelegate.setDefaultNightMode(int) API。
  • 使用 getDrawerToggleDelegate() API 与 DrawerLayout 集成。

所以在 OO 方面:

  • UnityPlayActivity is-a Activity
  • AppCompatActivity is-a Activity
  • UnityPlayActivity 不是 AppCompatActivity(他们有兄弟关系)。

如果您绝对需要AppCompatActivity,处理此问题的一种方法是修改UnityPlayActivity 代码以扩展AppCompatActivity。你可以see an example of that here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2016-08-08
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多