【问题标题】:How to programmatically change title bar colour to hex value?如何以编程方式将标题栏颜色更改为十六进制值?
【发布时间】:2014-09-04 23:57:11
【问题描述】:

是否可以将操作栏中标题文本的颜色更改为十六进制值的颜色?我只知道以下几点,不知道是否可以实现:

setTitleColor(Color.Green);

【问题讨论】:

标签: java android android-layout android-activity android-actionbar


【解决方案1】:

Android

你可以简单地做setTitleColor(Color.parseColor("#000000"));

Android >= 4.0

检查这个答案https://stackoverflow.com/a/10592561

【讨论】:

  • 我已经做到了,但文本仍然是白色的。顺便说一句,我的应用程序的目标是 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setTitle("Welcome"); ActionBar bar = getActionBar(); bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFCC00"))); setTitleColor(Color.parseColor("#000099")); }
  • 这取决于您用来执行它的 SDK,而不是您理论上所针对的 SDK。尝试执行链接指定的答案。
  • 我正在使用 Android Studio - 这就是 SDK 的意思吗?
  • 不,我指的是您的设备或 AVD 的 Android 版本。无论如何,如果第一个解决方案对您不起作用,那么您可能正在运行 KitKat,您应该检查stackoverflow.com/a/10592561
  • 所以只是为了确认您建议的代码 - 是否进入 java 文件的“受保护的 void OnCreate...”部分?
【解决方案2】:

您可以在 color.xml 中添加十六进制颜色值。然后在您的活动中尝试添加这行代码:

setTitleColor(getResources().getColor(R.color.hex_color_id));

【讨论】:

  • 那么我不能做这样的事情吗? setTitleColor(new ColorDrawable(Color.parseColor("#0099CC")));
  • 如果有效,那么您可以,但如果无效,您可以尝试其他方式。不要只坚持一种选择,有很多方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多