9

目前正致力于迁移到支持库中的 ActionBar。目前正在尝试迁移我的旧主题以继承,Theme.AppCompat.Light.DarkActionBar但进展并不顺利。

如果我像这样在清单中应用主题,那很好:

<activity
    android:name="com.fitsby.LoginActivity"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
</activity>

但是当我执行以下操作时,我得到一个运行时错误,指出 LoginActivity(ActionBarActivity 的子类)必须有一个从 Theme.AppCompat 继承的主题:在 styles.xml 中:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:typeface">sans</item>   
</style> 

在清单中:

<activity
    android:name="com.fitsby.LoginActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme" >
</activity>

任何想法为什么会这样?我没有看到问题,因为 AppTheme 显然继承自 AppCompat 主题之一。

4

1 回答 1

10

如果您values的应用程序中有不同的文件夹,对于不同的 API 级别,请确保文件夹中的每个主题都从所需的Theme.AppCompat.*主题扩展。

于 2013-08-11T17:15:49.947 回答