【发布时间】:2015-02-17 20:45:05
【问题描述】:
我一直在尝试实现 Material Design 主题,遵循these instructions。
- 我没有使用
ToolBar(必须吗?) - 我的所有活动都扩展了 ActionBarActivity。
- 在整个项目中使用
getSupportActionBar()。 - 我正在 gradle 中编译和定位到 API 21(最低要求是 API 15)。
- 我的
<application>标签包含android:theme="@style/AppTheme" - 在 Lollipop 设备上运行应用程序(具有特定的 v21 类似主题的作品)。
我的样式.xml:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid">
<item name="displayOptions">useLogo|showHome</item>
<item name="logo">@drawable/home_page_logo</item>
<item name="background">@color/actionbar_background_color</item>
<item name="textColor">@color/white</item>
<item name="titleTextStyle">@style/MyActionBarTextStyle</item>
</style>
无论我尝试了什么,当我在onCreate() 上启动我的主要活动时,应用程序就会崩溃,并带有此崩溃日志:
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:151)
at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:138)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
有人遇到过这个问题吗?关于可能导致此问题的任何建议?
编辑: 这绝对是我的 styles.xml 主题中的东西。如果我强制应用程序使用默认的 Theme.AppCompat 主题,它可以工作。 什么可能导致主题失败?我验证了 ActionBar 属性没有使用“android:”。还要别的吗?
【问题讨论】:
-
@PearsonArtPhoto 是的...再次验证。所有模块都针对 v21。
-
@PearsonArtPhoto 清理、重建、gradle 同步...基本上一切
标签: android android-theme android-appcompat material-design