如何在android中设置运行时主题

如何在android中设置运行时主题,android,android-actionbar,android-theme,Android,Android Actionbar,Android Theme,我试着在运行时设置主题,除了动作栏,一切都很好 我正在super.oncreate(…)之前的oncreate()中设置主题 如何在动作栏中设置主题 这是我在style.xml中的主题 <style name="abcThemeTest" parent="Theme.AppCompat.Light"> <item name="android:windowBackground">@color/RED</item> <item name="a

我试着在运行时设置主题,除了动作栏,一切都很好

我正在super.oncreate(…)之前的oncreate()中设置主题

如何在动作栏中设置主题

这是我在style.xml中的主题

<style name="abcThemeTest" parent="Theme.AppCompat.Light">
    <item name="android:windowBackground">@color/RED</item>
    <item name="actionBarStyle">@style/MyActionBarTest</item>
</style>


<style name="MyActionBarTest" parent="@style/Widget.AppCompat.ActionBar">
    <item name="background">@color/RED</item>        
       <item name="android:background">@color/RED</item>
    <item name="titleTextStyle">@style/MyActionBarTitleTextTest</item>
</style>

 <style name="MyActionBarTitleTextTest" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/WHITE</item>
    <item name="android:textStyle">bold</item>

</style>

@颜色/红色
@风格/我的行动
@颜色/红色
@颜色/红色
@style/MyActionBarTitleTextTest
@颜色/白色
大胆的

只需像这样修改样式文件即可

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@style/Theme.AppCompat">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
        <item name="android:actionMenuTextColor">@color/actionbar_text</item>

        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
        <item name="actionMenuTextColor">@color/actionbar_text</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@style/Widget.AppCompat.ActionBar">
        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>

        <!-- Support library compatibility -->
        <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/actionbar_text</item>
        <!-- The textColor property is backward compatible with the Support Library -->
    </style>

    <!-- ActionBar tabs text -->
    <style name="MyActionBarTabText"
           parent="@style/Widget.AppCompat.ActionBar.TabText">
        <item name="android:textColor">@color/actionbar_text</item>
        <!-- The textColor property is backward compatible with the Support Library -->
    </style>
</resources>

@样式/MyActionBar
@样式/MyActionBarTabText
@颜色/操作栏\文本
@样式/MyActionBar
@样式/MyActionBarTabText
@颜色/操作栏\文本
@样式/MyActionBartitletText
@样式/MyActionBartitletText
@颜色/操作栏\文本
@颜色/操作栏\文本

没有额外的主题来设置
操作栏的样式。你的风格完全错误。你可以试试看这个-嗨,@XaverKapeller请检查我的主题。。见上文