Ответ 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 имеет устройство.