Одной из причин может быть то, что, возможно, у вас есть множество макетов, где marginLeft
должно быть одинаковым.Вы можете установить их все на 16dp
прямо в файлах макета, но что если вам нужно изменить это измерение?Если у вас есть 16dp
, определенный в каждом макете, вам придется изменить каждый его экземпляр, и вы можете забыть о некоторых.Если он определен в dimens
, вам нужно изменить его только один раз.
Другая причина - themers.Кто-то может сделать тему для вашего приложения.Намного проще переопределить извлеченные значения, чем переопределять и копировать весь макет, просто чтобы изменить одно значение.
И, как говорит Гейб, вам действительно следует использовать start
и end
вместо left
и right
, когда это возможно.В противном случае ваше приложение будет выглядеть ужасно на устройствах, использующих RTL.