【问题标题】:Inheriting from Theme.AppCompat*从 Theme.AppCompat 继承*
【发布时间】:2013-07-31 14:45:25
【问题描述】:

目前正在努力迁移到支持库中的 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 主题之一。

【问题讨论】:

  • 您是否有多个值文件夹(例如不同的 API 级别)?如果是,您是否在所有作品中都使用了这种风格?
  • 就这样了导致有点头疼。如果您想将评论更改为答案,我会将其标记为正确答案。

标签: android android-theme


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多