安卓如何改变操作栏颜色

10

我想改变操作栏的颜色,但不知道该怎么做。我应该添加什么来改变样式?

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->

</style>

</resources>
8个回答

13

这是改变操作栏颜色所需的全部内容:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">#995544</item>
</style>

单词的颜色怎么样? - user5575144
你可以使用 <item name="colorPrimary">@color/green</item>。并且添加到 res/color 中 <color name="green">#2fb56c</color>。 - Sergey O
更改操作栏标题颜色的代码:'<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="actionBarStyle">@style/MyActionBar</item> </style><style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid"> <item name="titleTextStyle">@style/MyTitleTextStyle</item> </style> <style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> <item name="android:textColor">#232323</item> </style>' - Sergey O
6
我希望人们在发布这些“解决方案”时,能够包括位置甚至文件名称,以帮助我们这样试图学习生态系统的人。 在由向导生成的项目中有超过400个XML文件。 在用户预期手动编辑它们的级别上,大约有5-10个具有XML内容的文件。 - SpacemanScott
@Taurus 我在搜索了一番后找到了它。但还是谢谢你。 - SpacemanScott
@SpacemanScott 是的,我知道这个(毕竟已经超过一个月了)。我发表评论是为了帮助未来可能有同样问题的人。 - doubleOrt

4

那段代码对我有效,并且它也改变了文字颜色

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
</style>

<style name="AppTheme.ActionBar" parent="Widget.AppCompat.Light.ActionBar">
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
    <item name="titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
    <item name="background">@color/colorPrimary</item>
    <item name="android:height">150dp</item>
    <item name="height">60dp</item>
</style>

<style name="AppTheme.ActionBar.TitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textSize">15dp</item>
    <item name="android:textColor">@color/colorAccent</item>
</style>


可以运行,但不会改变图标颜色。 - Sharif Rafid Ur Rahman

2

简单易懂的单行代码

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.red)));

2
如果您的minSdk为21或更高版本,则可以添加以下内容:
<item name="colorPrimary">@color/yourColor</item>

如果不是,则进行以下更改:
1. 您的活动必须扩展AppCompatActivity 2. 将您的主题更改为@style/Theme.AppCompat.Light.NoActionBar 3. 在您的活动xml文件顶部添加以下内容: <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 4. 在super.onCreate调用后,在您的onCreate方法中加入以下内容: Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); 5. 要更改颜色,只需将?attr/colorPrimary替换为@color/yourColor

单词的颜色怎么样? - user5575144
在将工具栏设置为 SupportActionBar 之后,写入“getSupportActionBar().setTitle(0);”。然后将 TextView 添加为工具栏的子项,并更改其颜色。 - Axel
我可以使用<item name="colorPrimary">@color/yourColor</item>,但它只会改变背景颜色。 - user5575144
只需按照我之前写的内容,并更改TextView的颜色。 - Axel
错误。使用AppCompat,您的minSDK不需要API 21+。 - Zoe stands with Ukraine

1
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style

在这里,colorPrimary属性可以帮助您更改操作栏的颜色。 有关详细信息,请参见此图。


0
在您的 theme.xml 或/和 theme.xml(暗色)中,更改以下内容:android:statusBarColor,以更改状态栏背景颜色,toolbarNavigationButtonStyle 更改返回按钮颜色,actionBarStyle 更改背景和文本颜色,displayOptions 以显示文本。
    <style name="Theme.Example" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <!-- Status bar color. -->
        <item name="android:statusBarColor">@color/backgroundDark</item>

        <!-- action bar color. -->
        <item name="toolbarNavigationButtonStyle">@style/Toolbar.Button.Navigation.Tinted</item>
        <item name="actionBarStyle">@style/Actionbar.dark</item>
        <item name="displayOptions">showHome|useLogo|showTitle</item>
    </style>

    <style name="Actionbar.dark" parent="Widget.AppCompat.Toolbar.Button.Navigation">
        <item name="background">@color/backgroundDark</item>
        <item name="titleTextStyle">@style/Actionbar.darktext</item>
        
    </style>

    <style name="Actionbar.darktext" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
    </style>

    <style name="Toolbar.Button.Navigation.Tinted" parent="Widget.AppCompat.Toolbar.Button.Navigation">
        <item name="tint">@color/white</item>
    </style>

enter image description here


0
请尝试下面的代码:
<style name="AppCompatTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:background">#ff540e9e</item>
    <item name="android:textColor">#ffffff</item>
</style>

-1

您可以在res/values/styles.xml文件中尝试自定义当前应用程序的主题:

   <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
         // your custom styles added to theme        
     <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
 </style>


     //Cutomise your theme by specifying layout,color, font type etc:
 <style name="MyActionBarTheme" 
        parent="@android:style/Widget.AppCompat.Light.DarkActionBar">
     // sets the background color of the activity/app:  
     <item name="android:background">#33FF33</item>
 </style>

然后,您需要将新的自定义主题名称添加到应用程序的清单文件中


虽然这段代码可能回答了问题,但提供关于它为什么和/或如何回答问题的额外上下文会显著提高其长期价值。请编辑您的答案以添加一些解释。 - Toby Speight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接