В чем разница между их использованием и когда их следует использовать?

Пример документации для AppCompatView:

EditText с учетом оттенков. Это будет автоматически использоваться при использовании EditText в ваших макетах. Вам нужно только вручную использовать этот класс при написании пользовательских представлений

Почему AppCompatView следует использовать только для пользовательских представлений?

Есть аналогичный вопрос, но я Я ищу хорошее объяснение, почему AppCompatView следует использовать только для пользовательских представлений.

14
NaiveBz 5 Янв 2016 в 02:53

2 ответа

Лучший ответ

Некоторые функции материального дизайна, такие как тема материала и настраиваемые переходы действий, доступны только в Android 5.0 (уровень API 21) и выше. Однако вы можете разрабатывать свои приложения так, чтобы использовать эти функции при работе на устройствах, поддерживающих материальный дизайн, и при этом быть совместимыми с устройствами, на которых установлены предыдущие версии Android.

Que-> Почему AppCompatView следует использовать только для пользовательских представлений.

Ответ -> Проще говоря, AppCompatView используется для поддержания совместимости. Если ваше приложение использует тему Material, как и Theme.Material, но не предоставляет альтернативную тему, ваше приложение не будет работать в версиях Android до 5.0.

Если макеты, которые вы разрабатываете в соответствии с рекомендациями по материальному дизайну, не используют какие-либо новые атрибуты XML, представленные в Android 5.0 (уровень API 21), они будут работать в предыдущих версиях Android. В противном случае вы можете предоставить альтернативные макеты. Вы также можете предоставить альтернативные макеты, чтобы настроить внешний вид вашего приложения в более ранних версиях Android.

Создание приложений Android с обратной совместимостью с материальным дизайном намного проще с AppCompat, особенно если вы понимаете, как его стили и темы работают вместе, чтобы динамически окрашивать пользовательский интерфейс.

С AppCompat вы должны тратить меньше времени на возню с активами и обратной совместимостью и больше времени на собственное создание приложения.

В настоящее время новые проекты, созданные с помощью Android Studio, по умолчанию включают эту библиотеку.

Примечание. Эта библиотека зависит от библиотеки поддержки v4.

Ниже приведены несколько ссылок для справок.

  1. Темы материалов для Android стали проще с AppCompat
  2. Переход на библиотеку AppCompat
  3. Получение Material Design для устройств Pre-Lollipop с помощью AppCompat v21
12
Mohammad Tauqir 20 Июн 2016 в 09:21

В ваших макетах вы должны использовать «обычные» представления, поскольку библиотека поддержки автоматически вводит код совместимости. Классы, предоставляемые библиотекой поддержки, необходимы только при написании нового пользовательского представления. В этом случае вам необходимо расширить представления AppCompat, чтобы получить новые свойства (например, оттенок).

8
Valentin Kuhn 23 Июн 2016 в 12:18