Ответ 1
Динамическое изменение стиля в настоящее время не поддерживается. Вы должны установить стиль перед созданием представления (в xml).
Мне нужно установить стиль для TextView
, который создается программно.
Как реализовать style="@style/test"
программно?
Я уже смотрел документацию по дизайну Android для Android, но он не ответил на мой вопрос. Любые идеи?
Динамическое изменение стиля в настоящее время не поддерживается. Вы должны установить стиль перед созданием представления (в xml).
setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD_ITALIC);
Это работает для меня
Вы можете передать стиль для просмотра конструктора. Это можно сделать двумя способами:
Используйте ContextThemeWrapper
и настройте свой стиль как тему для него:
ContextThemeWrapper wrappedContext = new ContextThemeWrapper(yourContext, R.style.test);
TextView testView = new TextView(wrappedContext, null, 0);
И важно отметить, что для правильного задания стиля с помощью ContextThemeWrapper
нам нужно использовать конструктор с тремя аргументами и установить параметр defStyleAttr
равным 0. В противном случае к представлению будет применен стиль кнопки по умолчанию.
Начиная с API 21, мы можем использовать конструктор с 4 параметрами:
View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Где defStyleRes
- ваш идентификатор стиля
С тем же замечанием - defStyleAttr должно быть 0