操作栏字幕颜色不会更改

时间:2014-05-21 08:35:59

标签: android xml android-actionbar

我试图将操作栏的字幕颜色更改为白色...我已经在stackoverflow上尝试了几种解决方案,但它们都没有为我工作..

这就是我目前所拥有的,而且它不起作用..我没有使用任何兼容性库。

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:subtitleTextStyle">@style/MyActionBar.TitleTextStyle</item>
</style>

<style name="MyActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle">
    <item name="android:textColor">#ffffff</item>
</style>

清单中我的应用主题是Theme.Holo.Light.DarkActionBar

2 个答案:

答案 0 :(得分:0)

试试以下内容。

    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="android:windowBackground">@drawable/application_background</item>
         <item name="errorMessageBackground">@drawable/popup_inline_error_holo_light</item>
        <item name="errorMessageAboveBackground">@drawable/popup_inline_error_above_holo_light</item>
        <!-- <item name="android:actionMenuTextColor">@color/actionbar_text</item> -->
    </style>

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

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

在您的活动中添加以下方法。其中布局为操作栏膨胀,并为 textview 添加设置此值,如下所示。

    private void setActionbar() {
            // TODO Auto-generated method stub

            ActionBar actionBar = getActionBar();
            LayoutInflater inflater = (LayoutInflater) this
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View view = inflater.inflate(R.layout.actionbar_custom_view_home, null);
            actionBar.setCustomView(view, new ActionBar.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.MATCH_PARENT));
            actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
            actionBar.setDisplayHomeAsUpEnabled(false);
            actionBar.setDisplayShowHomeEnabled(false);
            actionBar.setDisplayUseLogoEnabled(false);
            actionBar.setBackgroundDrawable(new ColorDrawable( R.color.transparent_black_hex_11));

            TextView custom_title = (TextView) view.findViewById(R.id.customActionbar_title);

            custom_title.setTextColor(R.color.black);

            if(!Constants.changeOnlyFlag){
                custom_title.setText(getResources().getString(R.string.add_new_header));
            }else{
                custom_title.setText(getResources().getString(R.string.Estimate_Detail));
            }



    }

希望它对你有所帮助。

答案 1 :(得分:0)

父=&#34;机器人:风格/ TextAppearance.Holo.Widget.ActionBar.Subtitle&#34;应该 父=&#34; @android:风格/ TextAppearance.Holo.Widget.ActionBar.Subtitle&#34;

这对@ infront有帮助吗?

或者尝试使用@ color / white而不是#ffffff