Добро пожаловать в мир Android фрагментации!
Тема по умолчанию (которая устанавливает цвета и другие атрибуты макета) варьируется в зависимости от уровня API, так что по умолчанию приложения будут согласованными, выглядит мудрым, как и версия Android, на которой она работает.
Это даже не касается того факта, что Samsung, HTC, LG и т. Д. Каждый добавляет что-то поверх «ванильной» ОС Android (это с открытым исходным кодом, так что любой может изменить Android так, как ему нравится),И да, некоторые атрибуты макета присутствуют в некоторых версиях, а не в других, следовательно, это библиотеки поддержки, которые предназначены для того, чтобы позволить разработчику использовать более новые функции / классы в более старых версиях ОС.Справочник по Android API должен показывать, когда был добавлен определенный атрибут.Например: https://developer.android.com/reference/android/widget/Toolbar.html#attr_android:gravity
В приведенной выше ссылке видно, что класс панели инструментов был добавлен в Android API уровня 21 (Lollipop)
Все атрибуты находятся в классе R.attr: *Например, 1010 *https://developer.android.com/reference/android/R.attr
paddingVertical не был добавлен до уровня API 26: https://developer.android.com/reference/android/R.attr.html#paddingVertical
Так что, если устройство имеет версию
Тогда возникает проблема Тем.Вы просматриваете макет с той же темой, которую использует ваше приложение при работе в дизайнере?Вы можете выбрать, какую версию Android и тему вы хотите отобразить при просмотре макета в конструкторе: