SIDColorELK
SIDColorELK — модель для хранения цветов в приложении, поддерживающая светлую и темную темы. Используется для задания цветовых значений, которые автоматически адаптируются под текущую тему устройства. Класс используется для определения цветов в светлом и темном режимах, что позволяет элементам интерфейса корректно отображаться при смене темы.
Конструктор
SIDColorELK(
light: Int? = null,
dark: Int? = null
)
Поля
| Поле | Тип | Описание | Доступ |
|---|---|---|---|
light | Int | Цвет для светлой темы | Только чтение |
dark | Int | Цвет для темной темы | Только чтение |
Цвета задаются в формате целого числа (ColorInt). Для преобразования из строки можно использовать Color.parseColor("#RRGGBB") или расширение String.toColorInt().
Методы
copyNotNull()
fun copyNotNull(
light: Int? = null,
dark: Int? = null
): SIDColorELK
Создает копию текущего объекта с обновленными полями. Если новые значения совпадают с текущими или равны null, возвращает текущий объект.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| light | Нет | Int | Новый цвет для светлой темы |
| dark | Нет | Int | Новый цвет для темной темы |
Возвращаемое значение: SIDColorELK — новый объект с обновленными полями или текущий, если изменения не требуются.
Пример использования:
val baseColor = SIDColorELK(light = Color.WHITE, dark = Color.BLACK)
// Обновление только светлого цвета
val updatedLight = baseColor.copyNotNull(
light = Color.LTGRAY
)
// Обновление обоих цветов
val newColors = baseColor.copyNotNull(
light = Color.parseColor("#FF6200EE"),
dark = Color.parseColor("#FF03DAC5")
)
// Обновление только темного цвета
val updatedDark = baseColor.copyNotNull(
dark = Color.parseColor("#121212")
)