В соответствии с Android Lint некоторые атрибуты XML вызывают сбои на старых устройствах. Например, Attribute 'paddingStart' referenced here can result in a crash on some specific devices older than API 17
Как Android обрабатывает неизвестные теги XML?
Означает ли это, мне нужно отдельные файлы XML для поддержки неизвестных тегов (например, тот же макет с атрибутом paddingStart
добавлен в каталог в layout-v17
ресурсов)?
Мне не нравится идея наличия дополнительного, почти идентичного файла, поскольку это связано с ошибками при обновлении моего кода. Будут ли какие-то устройства на самом деле рушиться? Я бы подумал, что неизвестные теги просто будут проигнорированы.
Вместо этого вы можете использовать старые теги, такие как marginLeft. – jyoon
Как правило, проще использовать старые теги/атрибуты, совместимые с предыдущими версиями, если вы поддерживаете старые устройства, поскольку обратная совместимость не должна нарушать функциональность на новых устройствах. Если обратная совместимость не является удовлетворительной, и вам все равно нужно поддерживать более старые устройства, тогда вам нужно иметь отдельные файлы или логику для учета этих различий api. –
Либо вы ограничиваете свое приложение высшим apis из манифеста, либо воздерживаетесь от использования таких атрибутов, это мой совет. –