Для чего нужны Appcompat библиотеки

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

Ответ

Appcompat (AppCompat) библиотеки обеспечивают обратную совместимость новых фич и стилей Material Design на старых версиях Android.

Основные функции:

  • Поддержка Material Design на API < 21 (например, Theme.AppCompat).
  • Единообразные стили для Toolbar, AlertDialog, Button и других виджетов.
  • Включение новых API (например, ContextCompat, ViewCompat) для работы с permissions, анимациями и др.

Пример:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Кастомизация темы -->
</style>
class MainActivity : AppCompatActivity() {  
    // Используется вместо Activity для совместимости  
}  

Без AppCompat пришлось бы писать отдельные реализации под разные версии Android.