Где можно использовать тему в Android

«Где можно использовать тему в Android» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тема (Theme) в Android используется для стилизации UI-компонентов, обеспечивая единообразие интерфейса. Основные применения:

  1. Activity/Application – задаётся в манифесте (android:theme) или программно через setTheme() (до setContentView()).
  2. Виджеты – атрибуты вёрстки (android:theme или theme для локального переопределения).
  3. Динамическая смена темы – например, тёмный/светлый режим через AppCompatDelegate.setDefaultNightMode().

Пример установки темы в styles.xml:

<style name="AppTheme" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/purple_500</item>
</style>

Применение в манифесте:

<application android:theme="@style/AppTheme">

Темы поддерживают наследование, переопределение атрибутов и адаптацию под платформу (Material Components vs AppCompat).