在这个方法中使用 SpannableString 设置字体颜色
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_base_ok, menu);
MenuItem item = menu.findItem(R.id.menu_ok);
SpannableString spannableString =new SpannableString("确定");
spannableString.setSpan(new ForegroundColorSpan(Color.RED), 0, spannableString.length(), 0);
item.setTitle(spannableString);
return super.onCreateOptionsMenu(menu);
}
除此之外,SpannableString不但可以改变字体颜色,还能够设置背景色,文本可点击等等,奥秘就在setSpan(Object what, int start, int end, int flags)中,what就是具体要设置的成什么样子有如下:ForegroundColorSpan 设置前景色也就是文字颜色
BackgroundColorSpan,为文本设置背景色
RelativeSizeSpan,设置文字相对大小,实现方法如RelativeSizeSpan sizeSpan01=newRelativeSizeSpan(1.2f);
StrikethroughSpan,为文本设置删除线
UnderlineSpan,为文本设置下划线
ClickableSpan,设置可点击的文本,点击事件用户自定义实现
URLSpan,设置超链接文本
ImageSpan,设置文本图片
start表示需要设置格式的起始下标,end表示终了下标,flags属性有四种分别是:
Spanned.SPAN_INCLUSIVE_EXCLUSIVE从起始下标到终了下标,包括起始下标
Spanned.SPAN_INCLUSIVE_INCLUSIVE从起始下标到终了下标,同时包括起始下标和终了下标
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE从起始下标到终了下标,但都不包括起始下标和终了下标
Spanned.SPAN_EXCLUSIVE_INCLUSIVE从起始下标到终了下标,包括终了下标