有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将actionBar主题更改为Holo。光

我需要一些关于更改actionbar主题的帮助。目前它是全息黑暗,但我希望它是全息光明。我已经准备好了

<style name="ActionBar" parent="安卓:Theme.Holo.Light">
    <item name="安卓:actionBarStyle">
        @安卓:style/Widget.Holo.ActionBar
    </item>        
</style>

在/样式中。但是我需要在安卓清单文件的某个地方设置它,但我不知道在哪里。因为动作栏是一个更大的活动的一部分,活动有全息灯主题,而不是动作栏。有人吗


共 (2) 个答案

  1. # 1 楼答案

    关于设置主题,需要了解的重要一点是,默认情况下,在创建项目时,会在以下值下创建3个文件夹:valuesvalues-v11values-v14

    默认情况下,首先要打开values文件夹下的styles.xml。这就是我们出错的地方。请参阅,因为值文件有3个文件夹,Android系统将尝试加载文件夹中定义的适合当前系统设置的样式。也就是说,如果您在运行API级别17的Nexus上运行应用程序,则加载的样式将来自values-v14,而不是来自values

    因此,您必须编辑每个文件夹下的每个styles.xml文件,以确保无论API级别如何,都能正确加载主题

    您的styles.xmlfor values-v14应该如下所示:

    <resources>
    <! 
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
     >
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!  API 14 theme customizations can go here.  >
    </style>
    </resources>
    

    我希望这有帮助

  2. # 2 楼答案

    如果希望主题仅应用于多个活动,请在清单文件中的android:theme="@style/ActionBar"标记中添加属性<activity>

    <activity 
        android:name="YourActivityName"
        android:theme="@style/ActionBar"
    />
    

    如果希望将主题应用于应用程序中的所有活动,请在<application>标记中添加该属性

    <application 
        android:label="YourAppLabel"
        android:theme="@style/ActionBar" 
    />