通过XML来更改标题文本颜色在Android动作条文本、颜色、动作、标题

由网友(落柒柒)分享简介:我想改变动作条的标题文本颜色在我的应用程序。我已经尝试了很多方法,但我无法实现这一目标。我不想以编程方式做到这一点,因为当应用程序启动它显示了previous颜色操作栏,然后切换到新的。我是从API级别8支持,并与 Android的动作栏样式生成器生成我的XML 。然后我试图更改标题文字颜色与这个。标题文本颜色仍然是黑...

我想改变动作条的标题文本颜色在我的应用程序。我已经尝试了很多方法,但我无法实现这一目标。我不想以编程方式做到这一点,因为当应用程序启动它显示了previous颜色操作栏,然后切换到新的。我是从API级别8支持,并与 Android的动作栏样式生成器生成我的XML 。然后我试图更改标题文字颜色与这个。标题文本颜色仍然是黑色的。

I want to change the title text color of the ActionBar in my app. I have tried in many ways but I can't achieve it. I don't want to do it programatically because when the app is launched it shows the action bar with previous color and then changes to the new one. I'm supporting from Api Level 8 and my xml was generated with the Android Action Bar Style Generator. Then I tried to change the title text color with this . The title text color is still black.

这是我的code:

<resources>

<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">
    <item name="actionBarItemBackground">@drawable/selectable_background_dbtools_style</item>
    <item name="popupMenuStyle">@style/PopupMenu.Dbtools_style</item>
    <item name="dropDownListViewStyle">@style/DropDownListView.Dbtools_style</item>
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.Dbtools_style</item>
    <item name="actionDropDownStyle">@style/DropDownNav.Dbtools_style</item>
    <item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
    <item name="actionModeBackground">@drawable/cab_background_top_dbtools_style</item>
    <item name="actionModeSplitBackground">@drawable/cab_background_bottom_dbtools_style</item>
    <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Dbtools_style</item>
    <!-- Remove icon in Action Bar -->
    <item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="android:icon">@android:color/transparent</item>
    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
</style>

<style name="ActionBar.Solid.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="background">@drawable/ab_solid_dbtools_style</item>
    <item name="backgroundStacked">@drawable/ab_stacked_solid_dbtools_style</item>
    <item name="backgroundSplit">@drawable/ab_bottom_solid_dbtools_style</item>
    <item name="progressBarStyle">@style/ProgressBar.Dbtools_style</item>
    <!-- Title Text Color -->
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    <!-- Support library compatibility -->
    <item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>

<style name="ActionBar.Transparent.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="background">@drawable/ab_transparent_dbtools_style</item>
    <item name="progressBarStyle">@style/ProgressBar.Dbtools_style</item>
</style>

<style name="PopupMenu.Dbtools_style" parent="@style/Widget.AppCompat.Light.PopupMenu">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_dbtools_style</item>
</style>

<style name="DropDownListView.Dbtools_style" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
    <item name="android:listSelector">@drawable/selectable_background_dbtools_style</item>
</style>

<style name="ActionBarTabStyle.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
    <item name="android:background">@drawable/tab_indicator_ab_dbtools_style</item>
</style>

<style name="DropDownNav.Dbtools_style" parent="@style/Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
    <item name="android:background">@drawable/spinner_background_ab_dbtools_style</item>
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_dbtools_style</item>
    <item name="android:dropDownSelector">@drawable/selectable_background_dbtools_style</item>
</style>

<style name="ProgressBar.Dbtools_style" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
    <item name="android:progressDrawable">@drawable/progress_horizontal_dbtools_style</item>
</style>

<style name="ActionButton.CloseMode.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionButton.CloseMode">
    <item name="android:background">@drawable/btn_cab_done_dbtools_style</item>
</style>

<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.Dbtools_style.Widget" parent="@style/Theme.AppCompat">
    <item name="popupMenuStyle">@style/PopupMenu.Dbtools_style</item>
    <item name="dropDownListViewStyle">@style/DropDownListView.Dbtools_style</item>
</style>

<!-- ActionBar title text -->
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

推荐答案

我解决我的问题。问题是,我在测试中的设备与API级14+,我刚才添加的风格RES /值。我不得不添加到res /值-V14的风格了。我附上我的code:

I solved my problem. The problem was that I was testing in a device with api level 14+ and I just added the style to res/values . I had to add the style in res/values-v14 too. I attach my code:

RES /价值/ styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">
    <!-- Title Text Color -->
    <item name="actionMenuTextColor">@color/white</item>
</style>

<style name="ActionBar.Solid.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <!-- Title Text Color -->
    <item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>

<!-- ActionBar title text -->
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

RES /值-V14 / styles.xml

<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">

    <item name="android:actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>

    <!-- Title Text Color -->
    <item name="android:actionMenuTextColor">@color/white</item>
</style>

<style name="ActionBar.Solid.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <!-- Title Text color -->
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
</style>

<!-- ActionBar title text -->
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
    <!-- The textColor property is backward compatible with the Support Library -->
</style>

阅读全文

相关推荐

最新文章