在Android中设置Action Bar的样式

时间:2013-08-31 10:08:02

标签: android

当我刚刚创建Android项目时,如何更改操作栏的背景颜色(为了简单起见,针对4.0及更高版本)?

我是Android的初学者,我对最简单的事情感到难过。我已经阅读了类似问题的答案,但它们只是不适用,我甚至无法解释原因。我读过https://developer.android.com/training/basics/actionbar/styling.html并且它提到了一个名为res / values / themes.xml的文件,当我创建一个项目时它不存在,所以对我来说没用。

我知道这是绝对的初学者,但我已经想放弃了。请告诉我应该更改Android操作栏上具有不同背景颜色的位置。我知道我需要在res / values / styles.xml中创建一个自定义操作栏样式,但我不知道该作为该样式的父项放入什么,我尝试的所有内容都会出错。

以下是使用新Android项目生成的res / values / styles.xml

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

1 个答案:

答案 0 :(得分:1)

我建议你这个页面:

http://jgilfelt.github.io/android-actionbarstylegenerator/

从那里你可以生成一种风格并从中学习。我认为这是学习它的最佳方式。

下载zip文件后,您将有5个文件夹。

可绘制 绘制,华电国际 绘制,MDPI 绘制,xhdpi 值

在drawable文件夹中,有许多xml使用其他可绘制文件夹上的图像。这里定义选择器来指定一个图像是否用于焦点状态等...

文件夹值包含一个带颜色的xml,另一个带有样式。检查style.xml以了解如何修改操作栏中的内容。

如果您只想修改背景颜色:

<style name="Theme.Example" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar.Solid.Yourapp</item>

</style>

<style name="ActionBar.Solid.Yourapp" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
    <item name="android:background">#ff0000</item> <= The color you want
</style>