あまり変えてやろうと思うこともないかと思いますが
気まぐれに文字色を変えたくなった時のためにメモしておきます。
Theme でActionBar のタイトルの文字色を変更する
普通の方法ですが、動的に変更することができません。<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item> </style> <style name="AppTheme.ActionBarStyle" parent="Widget.AppCompat.Light.ActionBar"> <item name="titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> </style> <style name="AppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> <item name="android:textColor">@color/red</item> </style> </resources>
<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item> </style> <style name="AppTheme.ActionBarStyle" parent="Widget.AppCompat.ActionBar"> <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> </style> </resources>
Programmatically
String title = getResources().getString(R.string.title); int titleColor = getResources().getColor(R.color.titleColor); String htmlColor = String.format(Locale.US, "#%06X", (0xFFFFFF & Color.argb(0, Color.red(titleColor), Color.green(titleColor), Color.blue(titleColor)))); String titleHtml = "<font color=\"" + htmlColor + "\">" + title + "</font>"; getSupportActionBar().setTitle(Html.fromHtml(titleHtml));
Html とかウケる。こんな方法があったとは。