首页 > 解决方案 > Android - 其他主题的 FloatingActionButton

问题描述

我必须在我公司的 Android 应用程序中实现 FloatingActionButton。问题是,该应用程序是带有 Holo 主题的预样式。当我运行该应用程序时,它崩溃了,错误是

"java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat".

所以,问题是:有没有办法在没有 AppCompat 主题的情况下实现 FloatingActionButton。

标签: androidandroid-appcompatfloating-action-button

解决方案


FAB 内置在新的 Design Compat 库中 - 早在 API 7 就可以在设备上运行。您需要将其作为依赖项包含在内才能使用它(并且应该毫不犹豫地这样做)。

如果您想避免使用库(或任何外部代码),您需要自己绘制 FAB(使用 Shape Drawable)。

总之,使用 Design Compat 库是支持 FAB 的首选方法,您应该使用它。Design Compat 库是“纯/材料 API21 的东西”。

除了设计支持库中的 API 之外,没有为任何 API 实现 FAB 实现。您必须包含该库,或者完全自己实现代码。

设计库依赖于 AppCompat,因此如果您计划使用本机 fab,您还需要包含 AppCompat 的依赖项。

“请注意,由于设计库依赖于 Support v4 和 AppCompat 支持库,当您添加设计库依赖项时,它们将自动包含在内。”


推荐阅读