Я занимаюсь разработкой пользовательской сборки AOSP на основе API26, для которой у меня уже есть много приложений.Я пытаюсь объединить тему между всеми приложениями, SystemUI и настройками.
Используя наложения устройств, я переопределил некоторые значения в
framework / base / core / res /res / values / colors_device_defaults.xml
Хорошо работает для SystemUI цветов.Тем не менее, тема приложения Settings не изменилась с этими определениями, поэтому я перешел и изменил цвета в
framework / support / v7 / appcompat / res / values /colors_material.xml
Это применяет новые цвета в приложении «Настройки», но усложняет их обслуживание, поскольку теперь у меня одинаковые стили / цвета, определенные в двух разных местах.
Теперь проблема Iс приложениями, они разработаны с использованием AppCompatActivity , что не позволяет мне использовать android: Theme.DeviceDefault .
Как кажется, Theme.AppCompat наследуется от Theme.Material вместо Theme.DeviceDefault , поэтому все изменения, которые я делаю в Theme.DeviceDefault , не применяются в приложениях.
Я, конечно, могупросто переопределите весь android: Theme.Material , но это было бы неправильно (имея DevТема IceDefault, чтобы достичь этого)Существует ли простой способ определить тему устройства в источнике Android, чтобы ее могли использовать приложения FragmentActivity и AppCompatActivity?
В той же строке, как можно использовать тему DefaultDevice в приложении «Настройки» (пакеты / приложение / Настройки /)