Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Kotlin: theme, attribute, context, ui, style

Что произойдёт, если запрашивать атрибут PrimaryColor из ApplicationContext и из ActivityContext?

Проверяет знание того, как ресурсы (особенно стили и темы) зависят от контекста.

Короткий ответ

ApplicationContext не содержит тем, установленных для Activity, поэтому может вернуть некорректные значения атрибутов, в отличие от ActivityContext, где тема доступна.

Длинный ответ

1. Атрибуты и темы:

  • PrimaryColor — часть темы Activity.

  • Activity Context знает, какую тему применять.

  • Application Context — нет.

2. Пример ошибки:

val typedValue = TypedValue()
val theme = context.theme // не сработает с ApplicationContext
theme.resolveAttribute(R.attr.colorPrimary, typedValue, true)

3. Последствия:

  • Цвет может не примениться.

  • Виджеты могут отрисоваться некорректно.

Вывод:
Для работы с темами и атрибутами всегда используйте Activity Context.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#theme

#attribute

#context

#ui

#style

Подпишись на Android Developer в телеграм