我一直在尝试实现Material Design主题,遵循这些说明。
- 我没有使用
ToolBar
(我必须使用吗?) - 所有我的Activity都扩展了ActionBarActivity。
- 在整个项目中使用
getSupportActionBar()
。 - 我在gradle中编译和定位到API 21(最低为API 15)。
- 我的
<application>
标签包含android:theme="@style/AppTheme"
- 在Lollipop设备上运行应用程序(具有类似v21的特定主题可用)。
我的styles.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:”。还有其他的吗?