如何以编程方式更改工具栏文本的颜色

时间:2016-02-17 03:09:03

标签: java android android-toolbar

我的工具栏标题需要能够根据按钮点击更改颜色。例如,工具栏标题的默认颜色为白色,但如果按下按钮,我希望它更改为红色。

我尝试使用以下内容:

SpannableString title;
title.setSpan(new ForegroundColorSpan(Color.argb(1, 255, 64, 129)), 0, remainingTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

但由于某种原因,颜色不想改变。它曾经与actionbar一起使用,但由于某种原因,这个方法不适用于工具栏。

3 个答案:

答案 0 :(得分:6)

您可以使用以下内容:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Hello");
toolbar.setTitleTextColor(Color.RED);//for red colored toolbar title

答案 1 :(得分:3)

Toolbar可以更改其文字颜色。所以,只需致电Toolbar.setTitleTextColor(int color)

如果您想跨文本,则需要致电TextView.setText(SpannableString)。这是一个例子:

Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
Spannable wordtoSpan = new SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers"); 
//Handle with your Span here. Like change color of part text, bold or italic part text, add hypertext and something like that.
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
toolbar.setText(wordtoSpan);

答案 2 :(得分:3)

使用 v7 appcompat库,您可以在工具栏上调用setTitleTextColor()

if (actionBarToolbar != null)
    actionBarToolbar.setTitleTextColor(Color.RED);

整个标题中的几个字母:

getActionBar().setTitle(Html.fromHtml("<font color='#ff0000'>YourColorText</font>") + "tittle");