Достижение Theme.DeviceDefault на AppCompatActivity - PullRequest
0 голосов
/ 29 ноября 2018

Я занимаюсь разработкой пользовательской сборки 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 в приложении «Настройки» (пакеты / приложение / Настройки /)

...