我知道如何将自定义字体设置为操作栏。我只是延长SherlockFragmentActivity和覆盖的setTitle这样的:如何将自定义字体设置为sherlock的上下文操作栏?
@Override
public void setTitle(CharSequence title) {
String str = String.valueOf(title);
str = str.toUpperCase(Locale.getDefault());
SpannableString s = new SpannableString(str);
MetricAffectingSpan span = new MetricAffectingSpan() {
@Override
public void updateMeasureState(TextPaint p) {
p.setTypeface(FontManager.INSTANCE.getAppFont());
}
@Override
public void updateDrawState(TextPaint tp) {
tp.setTypeface(FontManager.INSTANCE.getAppFont());
}
};
s.setSpan(span, 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
}
然而,事情就变得复杂了上下文操作栏。该库使用的工厂返回上下文行动起来吧,就像这样:
ActionMode mode = getSherlockActivity().startActionMode(mActionModeCallback);
mode.setTitle("whatever");
我可以覆盖ActionMode,然而LIB将不会返回它。
任何想法?
有没有办法改变仅用于标题TextView的? –
适合您的更新。 –
编辑2工作!我早些时候尝试过,但无济于事。毕竟这很简单。谢谢! –