Динамически изменять размер нескольких текстовых представлений из кода (без темы «на диске» xml)? - PullRequest
3 голосов
/ 17 декабря 2010

У меня есть 10 TextViews в моем коде, и я хотел бы изменить размер шрифта для всех из них.В моем макете я использовал @ style для определения общих свойств, однако я не знаю, как изменить их все из кода, когда макет находится на экране.

Что я не хочу делатьэто обновить N объектов, но писать только в одном месте.Я знаю, что могу использовать applyTheme , но это предполагает, что у вас есть тема XML где-то на диске, я хочу иметь возможность масштабировать шрифты до любого размера, поэтому это решение не практично.Есть идеи?

1 Ответ

1 голос
/ 17 декабря 2010

Смотрите похожие вопросы:

Как программно установить атрибут стиля в представлении

Android динамически меняет стиль во время выполнения

android: установить стиль textView во время выполнения

Похоже, невозможно изменить отдельный элемент стиля во время выполнения.Вы можете применить другую тему, но тогда вам потребуется другая тема для каждого размера шрифта, который вы хотите поддерживать.Раздражает, но возможно.

В противном случае вам придется придумать способ уменьшить боль при обновлении всех текстовых представлений.Вы можете сохранить размер в своем классе приложения, чтобы он был доступен для всех ваших действий, а затем в onCreate обновить размер для каждого TextView.

...