问题
I am using this as the theme.
<style name="ThemeSelector" parent="android:Theme.Light">
<item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
<item name="android:textAppearance">@style/TitleTextColor</item>
</style>
<style name="WindowTitleBackground">
<item name="android:background">@drawable/waterblue</item>
</style>
<style name="TitleTextColor">
<item name="android:textColor">@color/white</item>
</style>
With this background image is got assigned but text color is not changing.
In manifest I am using like this.
<application
android:name="com.example"
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/ThemeSelector">
回答1:
This is worked for me.
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="ThemeSelector" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/myTheme.ActionBar</item>
</style>
<style name="myTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/lblue</item>
<item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
<item name="android:height">@dimen/app_head_height</item>
</style>
<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">@dimen/app_head</item>
</style>
回答2:
Try this
<style name="ThemeSelector" parent="android:Theme.Light">
<item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
<item name="android:titleTextStyle">@style/TitleTextColor</item>
</style>
<style name="WindowTitleBackground">
<item name="android:background">@drawable/waterblue</item>
</style>
<style name="TitleTextColor">
<item name="android:text">@string/app_name</item>
<item name="android:textSize">10sp</item>
<item name="android:textColor">#a23421</item>
</style>
回答3:
Add the following line in your style.xml
for API level 23 and above.
<item name="android:titleTextColor">@color/black</item>
回答4:
I guess the attribute name will be android:titleTextStyle instead of android:textAppearance
回答5:
Yas Bro You can do this...
even you made your own custom titlebar ...
Just Go through this link
How to change the text on the action bar
which is from stackoverflow.
回答6:
Here's a code snippet I found online: It worked perfectly for me.
private void createCustomActionBar() {
this.getSupportActionBar().setDisplayShowCustomEnabled(true);
this.getSupportActionBar().setDisplayShowTitleEnabled(false);
LayoutInflater inflator = LayoutInflater.from(this);
View v = inflator.inflate(R.layout.title_bar, null);
Typeface tf = Typeface.createFromAsset(getAssets(),"Lobster-Regular.ttf");
((TextView)v.findViewById(R.id.lblActionBarTitle)).setTypeface(tf);
((TextView)v.findViewById(R.id.lblActionBarTitle)).setTypeface(tf);
this.getSupportActionBar().setCustomView(v);
this.getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#212121")));
}
Call this method just after your setContentView(R.layout.main_activity) line in your main activity. If you are using a standard activity replace the instances of getSupportActionBar with getActionBar.
来源:https://stackoverflow.com/questions/18525793/how-to-set-the-text-color-of-titlebar