В чем разница между стилем и темой в Android

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

Ответ

Стиль (Style) определяет внешний вид конкретного View или группы View (цвета, отступы, шрифты и т.д.). Тема (Theme) — это набор стилей, применяемых ко всему приложению или Activity.

Ключевые отличия:

  • Стиль применяется к отдельным View через style="@style/MyStyle"
  • Тема задается в манифесте (android:theme) или программно и влияет на все View
  • Тема может содержать стили для системных компонентов (ActionBar, статус-бар)

Пример стиля:

<style name="GreenButton">
    <item name="android:background">@color/green</item>
</style>

Пример темы:

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