это правильно делать? Как не писать в коде 16.dp?
На ум приходит только три варианта:
Использовать CompositionLocals и добавить dimensions к MaterialTheme.
Использовать dimensionResource.
Создать файлик с названием Dimens, в котором просто перечислять значения
>Создать файлик с названием Dimens в котором просто перечислять значения
Смотря какая цель. CompositionLocal скорее для чего-то, что в теории может измениться в рантайме. dimensionResource для примерно того же самого + для совместимости со старой системой. UPD. Только тут изменения в рантайме в зависимости от внешних факторов, тогда как с композишн локал у тебя за этим полный контроль. Файл с константами для чего-то постоянного и неизменяемого. Все три варианта отлично ложатся на задачу.
А нужно ли это? Что это даёт?
Скорее всего речь о захардкоженных одинаковых значениях. Отступы какие-нибудь на каждом экране. Их действительно лучше держать в одном месте.
Зачем? Тебе хоть раз прилетала задача типа изменить все отступы 16.dp на 15?
Серьезно?
Абсолютли. Причём и прямо такая, только числа другие, приложение было на раннем этапе разработки. И более логичная — разные отступы в зависимости от размера устройства. Первое решается константами. Второе CompositionLocal.
Обсуждают сегодня