Первый вопрос: как установить этот стиль?
Если вы делаете что-то вроде Html.fromHtml (" hello "), вызывая getTypeFace (), вернуть 0 (TypeFace.NORMAL). Для этого я бы сказал, что вам может потребоваться выполнить синтаксический анализ самостоятельно и создать подстроки в соответствии с найденными вами тегами HTML.
Если вы используете для этого атрибуты TextView - android: textStyle = "bold"
Вы можете позвонить напрямую:
Log.d(TAG, "has typeface=${tv_typeface.typeface.style}")
Вы можете сделать что-то вроде:
//Set an italic style to the word "hello"
val spannableString = SpannableString("hello world")
spannableString.setSpan(StyleSpan(Typeface.ITALIC), 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
tv_typeface.text = spannableString
//Get the style italic used
val spannedString = tv_typeface.text as SpannedString
val spans = spannedString.getSpans(0, tv_typeface.length(), StyleSpan::class.java)
for (span in spans) {
Log.d(TAG, "StyleSpan between: ${spannedString.getSpanStart(span)} and ${spannedString.getSpanEnd(span)} with style ${span.style}")
}
setlocale () является C, не C++. Я неопределенно не забываю видеть интерференцию между двумя на VC6, но это было ошибкой. Обычно, setlocale () влияет на поведение функций C только.
В C++ локализацией управляет станд.:: класс локали. По умолчанию секретные операции локали используют глобальную локаль, которая получена построением значения по умолчанию объект языкового стандарта и может быть установлена со станд.:: локаль:: глобальный (станд. константы:: locale&).
Построение объекта языкового стандарта с пустой строкой (станд.:: локаль ("")), создает локаль, соответствующую среде программы.
При запуске программы глобальная локаль является "C" или "Классической" локалью. Для установки глобальной локали на локаль среды программы (то, которое я предполагаю, - то, что Вы спрашиваете) Вы таким образом пишете:
std::locale::global(std::locale(""));
Например, мои региональные настройки в настоящее время устанавливаются на французский язык (Канада). Выполнение этого:
int main(void)
{
std::cout << std::locale().name() << std::endl;
std::locale::global(std::locale(""));
std::cout << std::locale().name() << std::endl;
std::locale::global(std::locale("C"));
std::cout << std::locale().name() << std::endl;
return 0;
}
печать:
C
French_Canada.1252
C