Какая польза от...- v21.xml?

Я разрабатываю приложение для Android версии 4.0 и выше. Я просто обновился до appomppat 22.2.0, но я вижу все эти ссылки на...- v21/v22.xml в Интернете. Для чего они используются? Они имеют значение? Спасибо заранее!

Ответы

Ответ 1

У меня был этот theme.xml в папке values-v21

Каталог

A res/values-v21/ содержит ресурсы, которые будут использоваться, когда устройство, на котором запущено ваше приложение, находится на уровне API 21 или выше. Если устройство работает на более ранней версии Android, каталог res/values-v21/ будет проигнорирован.

Для чего они используются? Они имеют значение?

Они используются для предоставления различных версий ресурсов для разных версий Android.

В случае файла themes.xml устройство уровня API 21+ может иметь тему, наследующую от Theme.Material. Однако эта тема не существует на более старых устройствах. Если у вас есть тема в res/values/, которая пытается ссылаться на Theme.Material, ваше приложение выйдет из строя на этих старых устройствах. Итак, вместо этого вы помещаете тему в res/values/, которая будет работать на всех поддерживаемых вами устройствах (например, Theme.Holo для minSdkVersion 11 или выше) и переопределить эту тему в res/values-v21/, вместо этого используйте Theme.Material.

Вы можете видеть, что в это примерное приложение, где Theme.Apptheme (тема моего приложения) наследуется от Theme.Holo в res/values/ и наследует от Theme.Material в res/values-v21/. Какая версия Theme.Apptheme используется во время выполнения, зависит от того, какая версия Android имеет устройство.

Ответ 2

Ошибка при получении родительского элемента: не найден ресурс, соответствующий указанному имени "TextAppearance.Compat.Notification.Time". TrcNetMobile.Android E:\Lavoro\VS2017\TrcNetMobile\TrcNetMobile\TrcNetMobile.Android\obj\Debug\81\lp\55\jl\res\values-v21\values-v21.xml

Кто-нибудь знает, что это значит? (и как я могу решить это?)

Спасибо