Leanback 的 AppCompat 主题
AppCompat theme for Leanback
我打开了旧的 Android TV 应用程序项目并尝试更新依赖项。然后我将 appcompat 库更新到 27.1.1。我打开了 Leanback 片段,Android Studio 警告我 BrowseFragment
已弃用,我应该改用 BaseSupportFragment
。其他 Leanback 片段的情况相同。然后我将所有片段更改为 AppCompat 版本(LeanbackSettingsFragment
除外,因为没有提供 AppCompat 版本),然后更改我的活动扩展 AppCompatActivity
.
进行这些更改后,我构建了该应用程序,但是当我启动该应用程序时,我在 logcat 中看到此错误:
Unable to start activity ComponentInfo{net.swiftzer.trainboard.dev/net.swiftzer.trainboard.main.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
我用的app和活动的主题都在Theme.Leanback
下。但是我查了一下主题是基于平台原生主题
我应该坚持使用已弃用的 leanback 片段 类 还是 leanback 库提供 AppCompat 主题? Leanback 图书馆就像一个半生不熟的图书馆。我看到 leanback 库去年确实提供了一个 AppCompat 版本的片段,但没有示例项目使用它们。现在他们将 android.app.Fragment
扩展的片段 类 标记为已弃用,但他们没有提供正确的迁移方法。
您不能将 Theme.Leanback 用于扩展 AppCompatActivity 的活动。要使用 support fragments,您也不能使用 android.app.Activity 扩展 activity。要使用 支持片段 将 activity 扩展为 android.support.v4.app.FragmentActivity.
您不能将 AppCompat
主题用于带有 Leanback
库的 Android 电视。
您应该扩展 FragmentActivity
的 BaseActivity
以受益于 Support
组件。
我打开了旧的 Android TV 应用程序项目并尝试更新依赖项。然后我将 appcompat 库更新到 27.1.1。我打开了 Leanback 片段,Android Studio 警告我 BrowseFragment
已弃用,我应该改用 BaseSupportFragment
。其他 Leanback 片段的情况相同。然后我将所有片段更改为 AppCompat 版本(LeanbackSettingsFragment
除外,因为没有提供 AppCompat 版本),然后更改我的活动扩展 AppCompatActivity
.
进行这些更改后,我构建了该应用程序,但是当我启动该应用程序时,我在 logcat 中看到此错误:
Unable to start activity ComponentInfo{net.swiftzer.trainboard.dev/net.swiftzer.trainboard.main.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
我用的app和活动的主题都在Theme.Leanback
下。但是我查了一下主题是基于平台原生主题
我应该坚持使用已弃用的 leanback 片段 类 还是 leanback 库提供 AppCompat 主题? Leanback 图书馆就像一个半生不熟的图书馆。我看到 leanback 库去年确实提供了一个 AppCompat 版本的片段,但没有示例项目使用它们。现在他们将 android.app.Fragment
扩展的片段 类 标记为已弃用,但他们没有提供正确的迁移方法。
您不能将 Theme.Leanback 用于扩展 AppCompatActivity 的活动。要使用 support fragments,您也不能使用 android.app.Activity 扩展 activity。要使用 支持片段 将 activity 扩展为 android.support.v4.app.FragmentActivity.
您不能将 AppCompat
主题用于带有 Leanback
库的 Android 电视。
您应该扩展 FragmentActivity
的 BaseActivity
以受益于 Support
组件。