На самом деле это не работает со стилями тени. Если вы хотите изменить тень, вы должны сделать это следующим образом: lockText.setShadowLayer (20, 4, 4, 0xFFFF0000);
Лукас
3
Чтобы избежать проверки SDK, вы можете использовать TextViewCompat.setTextAppearance (myTextView, R.style.myStyle);
Джастин Фидлер
90
Как и предположил Джонатан, используя textView.setTextTypefaceпроизведения, я просто использовал его в приложении несколько секунд назад.
textView.setTypeface(null,Typeface.BOLD);// Typeface.NORMAL, Typeface.ITALIC etc.
Вы можете использовать textView.setTypeface (null, Typeface.BOLD); textView..setTypeface (ноль, Typeface.ITALIC); textView.setTypeface (нуль, Typeface.BOLD_ITALIC);
peceps
2
textView.setTypeface (null, Typeface.BOLD) - это то, что сработало для меня. Конечно, вы можете использовать 1, но я думаю, что вводить константы вручную - не лучший вариант. Лучше использовать предопределенные переменные в библиотеках.
Pijusn
4
Не поощряйте людей использовать целые числа вместо констант
Крис Дженкинс,
3
Хороший! Моя ошибка заключалась в том, что я отправлял свой старый шрифт в первом параметре. Таким образом, он работает, когда я меняю НОРМАЛЬНЫЙ -> ЖИРНЫЙ, но не ЖИРНЫЙ -> НОРМАЛЬНЫЙ. Я не знал, что первый параметр может быть нулевым! Теперь у меня отлично работает!
Вы можете сделать это программно, используя setTypeface ():
textView.setTypeface(null,Typeface.NORMAL);// for Normal Text
textView.setTypeface(null,Typeface.BOLD);// for Bold only
textView.setTypeface(null,Typeface.ITALIC);// for Italic
textView.setTypeface(null,Typeface.BOLD_ITALIC);// for Bold and Italic
Правда, все же это был самый простой способ - и, насколько я помню, единственный способ - на момент публикации. Я не уверен, что тем временем был добавлен новый метод API, который позволяет изменить «стиль» на полужирный без изменения шрифта. Пожалуйста, поправьте меня, если я ошибаюсь.
здесь он получит текущий шрифт из этого текстового представления и заменит его новым шрифтом. Здесь есть новый шрифт, DEFAULT_BOLDно вы можете применить гораздо больше.
Чтобы стилизовать строки, прикрепите объекты android.text.style. * К SpannableString или см. Документацию по доступным типам ресурсов для примера настройки форматированного текста в файле ресурсов XML.
В зависимости от того, какой стиль вы хотите установить, вам придется использовать разные методы. У TextAppearance есть собственный сеттер, у TypeFace есть собственный сеттер, у фона есть собственный сеттер и т. Д.
Ответы:
Я сделал это, создав новый XML-файл
res/values/style.xml
следующим образом:У меня также есть записи в моем файле "strings.xml" вроде этого:
Затем в моем коде я создал ClickListener, чтобы перехватить событие касания в этом TextView: EDIT: согласно API 23 'setTextAppearance' устарел
Чтобы изменить его обратно, вы должны использовать это:
источник
Как и предположил Джонатан, используя
textView.setTextTypeface
произведения, я просто использовал его в приложении несколько секунд назад.источник
Вы устанавливаете это из кода. Шрифт
источник
Программно: время выполнения
Вы можете сделать это программно, используя setTypeface ():
XML: время разработки
Вы также можете установить в XML:
Надеюсь, это поможет
Суммированный
источник
я обнаружил,
textView.setTypeface(Typeface.DEFAULT_BOLD);
что это самый простой метод.источник
попробуйте эту строку кода.
здесь он получит текущий шрифт из этого текстового представления и заменит его новым шрифтом. Здесь есть новый шрифт,
DEFAULT_BOLD
но вы можете применить гораздо больше.источник
См. Doco для setText () в TextView http://developer.android.com/reference/android/widget/TextView.html
источник
В зависимости от того, какой стиль вы хотите установить, вам придется использовать разные методы. У TextAppearance есть собственный сеттер, у TypeFace есть собственный сеттер, у фона есть собственный сеттер и т. Д.
источник