Wiem, jak ustawić niestandardową czcionkę na pasku akcji. Muszę przedłużyć SherlockFragmentActivity i zastąpić setTitle tak:Jak ustawić niestandardową czcionkę do kontekstowego paska działań 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);
}
Jednak sprawy się komplikują z kontekstowego paska akcji. Biblioteka korzysta fabrykę zwrócić kontekstowego paska akcji, podobnie jak to:
ActionMode mode = getSherlockActivity().startActionMode(mActionModeCallback);
mode.setTitle("whatever");
mógłbym zastąpić ActionMode jeszcze lib nie powróci.
Wszelkie pomysły?
czy istnieje sposób, aby zmienić tylko TextView używany jako tytuł? –
Aktualizacja dla ciebie. –
Edytuj 2 działało! Próbowałem wcześniej, bezskutecznie. W końcu było całkiem proste. dzięki! –