Как работает стилизация библиотеки appcompat

Я довольно смущен тем, как работает стилизация в библиотеке appcompat.

Согласно здесь :

Теперь мы используем поддержку поддержки Toolbar / ActionBar на всех платформах, что означает, что мы больше не читаем никаких андроидов: атрибуты, связанные с панелью действий.

Для приложений, которые уже имеют существующие настройки appcompat, это означает, что вы должны удалить темы v14 +, которые повторно устанавливают те же значения в пространстве имен android. Обратите внимание, что это ТОЛЬКО применимо к стилям / виджетам, которые влияют на панель действий.

Для большинства приложений вам требуется только одно объявление темы, в значениях /

Вот мой вопрос:

Если я хочу использовать материальную конструкцию ActionBar в API 14+, я могу просто использовать ActionBar / Toolbar, представленную в appcompat_v7, и стирать ее в общей папке значения / с удалением пространства имен «android:»? Но почему я вижу людей, пишущих код ниже:

<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar"> .... <item name="windowContentOverlay">@null</item> <item name="android:windowContentOverlay">@null</item> .... </style> 

Почему существует пространство имен «android:»? В чем разница между приведенным выше кодом и использованием значений-v21, value-v14, папок?

Может кто-нибудь объяснить или направить меня к правильному источнику?

Да, если вы используете AppCompat v21 +, вам нужна только одна тема с родителем Theme.AppCompat (или Theme.AppCompat.Light такой как Theme.AppCompat.Light ), и вам не нужны атрибуты android: namespace для флагов Action bar / window , А также отдельные темы для v14, v20 и т. Д. Полный список атрибутов верхнего уровня, которые AppCompat предоставляет на всех уровнях API, можно найти в AppCompat R.styleable Theme .

Большая часть кода в Интернете (включая части сайта developer.android.com) все еще написана для pre-v21 AppCompat, для чего требуются и android: и не префиксные версии.

Intereting Posts
Запустить действие с использованием намерения и отключить нажатие кнопки «Назад» от запуска предыдущей операции Игнорирование Android API artifact com.google.android:android:2.2.1 для отладки / выпуска Открыть экран настроек для активации метода ввода Является ли способ, с помощью которого быстро запускаются функции быстрого запуска базы данных Firebase? Не удается получить выбранный индекс элемента в пользовательском массиве ArrayAdapter на моем ListView Как управлять установленными приложениями (при необходимости, с правами root)? Связь между DB SQL Server 2008 и Android-приложением Исключение Null в ActionBar Как продлить кнопку Android и использовать файл макета xml Разработка приложений для Android Почему работает ITelephony.aidl? Как отправить большой файл на сервер с Android с AndroidAnnotation? Учебники Amazon AWS? Могу ли я написать приложение в javascript / HTML / CSS и продать его в магазине приложений, в Google Play и в магазине мобильных приложений для Microsoft? Как изменить направление выделения текста TextView