Я хочу приспособиться к более старым версиям Android (скажем, от 17 до 20) с особыми характеристиками стиля. Итак, я сделал это:
- values/styles.xml (то, что я думаю, должно быть по умолчанию)
- значения-v17/styles.xml
- значения-v18/styles.xml
- значения-v19/styles.xml
- значения-v20/styles.xml
В моем файле values/styles.xml
я сохраняю значения по умолчанию для версий 21+. Однако стиль, который на самом деле применяется как в предварительном просмотре, так и в виртуальном устройстве, — это стиль v20, для версии дисплея 21 и выше. Если я стираю values-v20/styles.xml
, то следующий в очереди, v19, вступает во владение. Почему не используется стиль по умолчанию?
Простой пример:
значения-v20/styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Button.AccentButton" parent="Theme.AppCompat">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/red</item>
</style>
</resources>
значения /styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Button.AccentButton" parent="Theme.AppCompat">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/green</item>
</style>
</resources>
Конечный результат: кнопка v21+ горит красным, должна быть зеленой.