android – 在AppCompatActivity主题中更改ActionBar的标题文本颜色

前端之家收集整理的这篇文章主要介绍了android – 在AppCompatActivity主题中更改ActionBar的标题文本颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我正在尝试的操作栏中更改标题颜色,如下所示:

我在Styles.xml中添加了以下内容(v14)

  1. <style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  2. <item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item>
  3. <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
  4. <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
  5. <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
  6. <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
  7. <item name="colorAccent">@color/greenText</item>
  8. </style>
  9.  
  10. <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
  11. <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
  12. <item name="background">@color/whiteText</item>
  13. </style>
  14.  
  15. <style name="AppTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle">
  16. <item name="color">@android:color/black</item>
  17. </style>
  18.  
  19. <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
  20. <item name="android:textColor">@color/actionbar_blackText</item>
  21. </style>

在我的清单中:我使用相同的主题.

在我的Activity类中:我将FragmentActivity更改为AppCompatActivity

OnCreate看起来像这样:

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState)
  3. {
  4. super.onCreate(savedInstanceState);
  5.  
  6. getSupportActionBar().setDisplayOptions(getSupportActionBar().getDisplayOptions() | android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);
  7. ImageView imageView = new ImageView(getSupportActionBar().getThemedContext());
  8. imageView.setScaleType(ImageView.ScaleType.CENTER);
  9. imageView.setImageResource(R.drawable.logoforactionbar);
  10. android.support.v7.app.ActionBar.LayoutParams layoutParams = new android.support.v7.app.ActionBar.LayoutParams(android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT,android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT,Gravity.END | Gravity.CENTER_VERTICAL);
  11. layoutParams.rightMargin = 20;
  12. imageView.setLayoutParams(layoutParams);
  13. getSupportActionBar().setCustomView(imageView);
  14.  
  15. getSupportActionBar().setTitle(getResources().getString(R.string.register_new));
  16. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  17. getSupportActionBar().setHomeButtonEnabled(true);
  18. getSupportActionBar().setIcon(android.R.color.transparent);
  19.  
  20. setContentView(R.layout.register_new);
  21. }

标题文字颜色不会改变,或者我也看不到黑色向上箭头.
文字和箭头是白色的……

奇怪的是,在具有导航抽屉的另一个AppCompatActivity上也能正常工作.

我得到这样的结果:

我剪了徽标部分.无论如何,应该有黑色标题和黑色箭头,但不会出现.

解决方法

您只需要粘贴它并使用您自己的XML更改此XML中的颜色
  1. <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  2. <item name="colorPrimaryDark">#cc0986ff</item>
  3. <item name="colorPrimary">#ff0c84e8</item>
  4. <item name="android:textColorPrimary">#fdfff2</item>
  5. <item name="android:windowBackground">@android:color/white</item>
  6. <item name="android:editTextColor">@android:color/background_dark</item>
  7. <item name="android:textColor">@android:color/background_dark</item>
  8. <item name="colorControlNormal">@android:color/background_dark</item>
  9. <item name="colorControlActivated">#ff0043c5</item>
  10. <item name="colorControlHighlight">#ffcb6345</item>
  11. </style>

猜你在找的Android相关文章