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