Перейти к основному содержимому
Версия: 5.21.0

Справочник цветов (ChatColors)

Ниже перечислены все доступные поля ChatColors. Большинство значений — ссылки на цветовые ресурсы (R.color.*); часть полей по умолчанию ссылается на другие поля ChatColors (например, bodyIconsTint = main), а swipeRefreshColors — это @ArrayRes Int (ссылка на R.array.*).

Только перечисленное здесь

Если нужного цвета в этих таблицах нет — он не входит в публичный API SDK; обратитесь в поддержку edna для запроса на расширение дизайн-системы. Шрифты и иконки находятся в отдельных справочниках: Типографика и Изображения.

Поля ChatColors

Тулбар и навигация

ПолеОписаниеЗначение по умолчанию
backButtonцвет кнопки «назад»R.color.ecc_white
mainосновной цвет чата. Используется в элементах тулбара, лоадерах и т. д., где не задан собственный цветR.color.ecc_green_83b144
bodyIconsTintцвет иконок, если не задан собственный цветmain
toolbarцвет тулбараR.color.ecc_chat_toolbar
toolbarContextMenuцвет иконки «три точки», вызывающей меню в тулбареR.color.ecc_chat_toolbar_context_menu
statusBarцвет статус бараR.color.ecc_chat_status_bar
menuItemцвет текста в элементе менюR.color.ecc_chat_toolbar_menu_item
toolbarTextцвет текста в тулбареR.color.ecc_white
chatToolbarInverseIconTintцвет иконок в тулбаре, если цвет тулбара был инвертирован (при выборе сообщения, например)R.color.ecc_white
chatToolbarHintTextцвет текста для подсказки при поиске в поле вводаR.color.ecc_chat_toolbar_hint
searchingProgressLoaderцвет для лоадера при поиске оператораR.color.ecc_consult_searching_progress_color

Сообщения и баблы

ПолеОписаниеЗначение по умолчанию
incomingTextцвет текста во входящих сообщенияхR.color.ecc_black
outgoingTextцвет текста в исходящих сообщенияхR.color.ecc_white
incomingLinkцвет текста во входящих ссылкахR.color.ecc_incoming_message_link
outgoingLinkцвет текста в исходящих ссылкахR.color.ecc_outgoing_message_link
disabledColorцвет для отключенных элементовR.color.ecc_disabled_text_color
incomingBubbleцвет входящего бабблаR.color.ecc_white
outgoingBubbleцвет исходящего бабблаmain
incomingTimeTextцвет текста для времени во входящих сообщенияхincomingText
outgoingTimeTextцвет текста для времени в исходящих сообщенияхoutgoingText
incomingImageTimeBackgroundцвет подложки под временем во входящих сообщенияхR.color.ecc_incoming_time_background
outgoingImageTimeBackgroundцвет подложки под временем в исходящих сообщенияхR.color.ecc_outgoing_time_background
messageHighlightingцвет баббла при его подсветкеR.color.ecc_chat_highlighting
messageEditedStatusЦвет индикатора «Изменено» у отредактированного сообщенияR.color.ecc_message_edited_color
messageSendingStatusцвет иконки статуса «отправляется»R.color.ecc_white
messageSentStatusцвет иконки статуса «отправлено»R.color.ecc_white
messageDeliveredStatusцвет иконки статуса «доставлено»R.color.ecc_white
messageReadStatusцвет иконки статуса «прочитано»R.color.ecc_white
messageFailedStatusцвет иконки статуса «ошибка»R.color.ecc_white
messagePopupMenuBackgroundфоновый цвет всплывающего меню сообщения (long-press menu)R.color.ecc_white
messagePopupMenuItemцвет текста для пункта всплывающего меню сообщенияR.color.ecc_black
Общий дефолт у пяти статусов

messageSendingStatus, messageSentStatus, messageDeliveredStatus, messageReadStatus и messageFailedStatus по умолчанию окрашены в R.color.ecc_white. Разные иконки этих статусов задаются в ChatImages (см. таблицу «Статусы сообщений» в images.md). Если фон исходящего баббла светлый — переопределите цвет соответствующего статуса.

Поле ввода

ПолеОписаниеЗначение по умолчанию
inputMessageцвет текста для полей ввода, кроме поискаR.color.ecc_black
inputMessageHintцвет текста для подсказки в полях ввода, кроме поискаR.color.ecc_grey_aaa
inputFieldBackgroundцвет фона для поля вводаR.color.ecc_white
voiceBtnBackgroundцвет фона для кнопки записи звукового сообщенияmain
voiceBtnIconColorцвет кнопки записи звукового сообщенияR.color.ecc_white
sendBtnIconColorЦвет иконки кнопки отправки сообщенияmain
microphoneцвет иконки микрофонаR.color.ecc_record_button_small_mic
bottomButtonTextColorцвет текста для кнопок внизу чата (камера, галерея, файл)R.color.ecc_chat_toolbar
bottomButtonsBackgroundцвет фона для кнопок внизу чата (камера, галерея, файл)R.color.ecc_white

Поиск

ПолеОписаниеЗначение по умолчанию
searchTextцвет текста для поля поискаR.color.ecc_white
searchHintцвет текста для подсказки в поле поискаR.color.ecc_cian_b2dfdb
searchResultBackgroundЦвет фона результатов поискаR.color.ecc_chat_background
searchIconцвет для иконок поискаR.color.ecc_white
searchLoaderTintцвет иконки поиска для лоадера при загрузке результатов поиска в поле вводаR.color.ecc_white
searchBarTextцвет текста при вводе запросаR.color.ecc_white
searchResultsDividerцвет разделителя между элементами в результатах поискаR.color.ecc_search_divider_color
searchResultsItemRightArrowTintцвет для иконки «стрелка вправо» в результатах поискаR.color.ecc_search_results_item_secondary
searchResultsItemDateTextцвет текста для даты в результатах поискаR.color.ecc_search_results_item_secondary
searchResultsItemMessageTextцвет текста с сообщениемR.color.ecc_search_results_message_color
searchResultsItemNameTextцвет текста с автором сообщенияR.color.ecc_black
searchResultNoItemsTextцвет текста для сообщения при отсутствии результатов поискаR.color.ecc_black
searchHighlightЦвет выделения найденного текста при поискеmain

Цитаты и реплаи

ПолеОписаниеЗначение по умолчанию
quoteHeaderChatViewцвет текста для заголовка при цитированииR.color.ecc_black
quoteTextцвет текста при цитированииR.color.ecc_black
quoteClearIconЦвет иконки очистки цитатыmain
quotePlayPauseButtonцвет текста для кнопки запуска воспроизведения при цитировании сообщенияR.color.ecc_preview_play_pause_button
quoteBgColorцвет фона цитатыR.color.ecc_quote_bg_color
quoteDelimiterColorцвет разделителя цитатыR.color.ecc_quote_delimiter_color
quoteAuthorColorTextцвет текста автораR.color.ecc_quote_author_color_text
quoteColorTextцвет текста цитатыR.color.ecc_quote_color_text
quoteIconTintColorЦвет иконки цитированияR.color.ecc_white

Опросы

ПолеОписаниеЗначение по умолчанию
surveyTextцвет текста для опросовR.color.ecc_chat_system_message
buttonSurveyTextButtonColorЦвет текста кнопки в опросе с кнопкамиR.color.ecc_white
surveyButtonBackgroundTintColorЦвет фона кнопки опросаmain
buttonSurveyQuestionTextColorЦвет текста вопроса в кнопочном опросеR.color.ecc_chat_system_message
surveyChoicesTextцвет текста для выбора варианта ответа при опросеR.color.ecc_survey_choices_text
rateStarsCountцвет текста для количества выставленных звездR.color.ecc_chat_outgoing_message_bubble
rateTotalStarsCountцвет текста для доступных звезд к выборуoutgoingText
rateFromцвет текста для предлога «из» (3 из 5)outgoingText
rateStarцвет иконки звездыoutgoingText
surveySelectedColorFilterцвет для иконок при опросе, если опрос был выбранR.color.ecc_survey_selected_icon_tint
surveyUnselectedColorFilterцвет для иконок при опросе, если опрос не был выбранR.color.ecc_survey_unselected_icon_tint

Кнопки и действия

ПолеОписаниеЗначение по умолчанию
quickRepliesTextцвет текста в быстрых ответахR.color.ecc_black
quickReplyButtonBackgroundTintЦвет фона кнопки быстрого ответаR.color.ecc_white
chatButtonTintColorStateListнабор цветов для разных состояний кнопкиarrayOf(disabledColor, main, main)
buttonsDefaultTextцвет текста по умолчанию для кнопокR.color.ecc_black
buttonsDefaultStrokeцвет границы по умолчанию для кнопокR.color.ecc_black
progressButtonStartDownloadTintцвет кнопки «загрузить файл» в начальном состоянии (загрузка ещё не началась)bodyIconsTint
progressButtonInProgressTintцвет кнопки «загрузить файл» в процессе загрузкиbodyIconsTint
progressButtonCompletedTintцвет кнопки «загрузить файл» после загрузкиbodyIconsTint
progressButtonBackgroundTintфоновый цвет кнопки «загрузить файл»R.color.ecc_progress_button_background

Push и счётчики

ПолеОписаниеЗначение по умолчанию
pushBackgroundфоновый цвет для push-уведомленияR.color.ecc_push_background
pushMessageцвет текста в push-уведомленияхinputMessage
unreadMessagesCountTextцвет текста для количества непрочитанных сообщенийR.color.ecc_chat_unread_msg_count_text
unreadMsgStickerцвет стикера (фона под цифрами) непрочитанных сообщенийR.color.ecc_chat_unread_msg_sticker_background

Системные и ошибки

ПолеОписаниеЗначение по умолчанию
systemMessageцвет системных сообщенийR.color.ecc_chat_system_message
errorTextцвет текста с ошибкамиR.color.ecc_error_red_df0000
mainTextWhenErrorBubbleЦвет текста в пузыре сообщения при ошибкеR.color.ecc_white
errorBackgroundцвет баббла, если произошла ошибка в сообщении (например, не сработала отправка)R.color.ecc_error_red_df0000
errorIconЦвет иконки ошибкиR.color.ecc_white
chatErrorScreenButtonTextцвет текста кнопки на экране с ошибкой при входе в чатR.color.ecc_white
chatErrorScreenMessageTextцвет текста сообщения на экране с ошибкой при входе в чатR.color.ecc_chat_new_system_message
chatErrorScreenImageTintцвет тонирования изображения на экране с ошибкой при входе в чатmain
scheduleTextцвет текста для расписанияR.color.ecc_schedule_text
infoIconЦвет информационной иконкиR.color.ecc_error_red_df0000

Экран восстановления состояния

Полноэкранный плейсхолдер с текстом «Восстановление состояния…» отображается, если чат или связанные с ним экраны (галерея вложений, диалоги SDK) открываются системой до завершения инициализации SDK. Подробное описание сценария — в Известных ограничениях → Экран восстановления состояния. Цвета не входят в ChatColors, переопределяются через ресурсы res/values/colors.xml и res/values-night/colors.xml в приложении.

РесурсОписаниеLightDark
ecc_restoring_state_view_hint_colorЦвет текста «Восстановление состояния…»R.color.ecc_blackR.color.ecc_white
ecc_restoring_state_backgroundЦвет фона экрана восстановленияR.color.ecc_whiteR.color.ecc_black
Тёмная тема

Начиная с версии 5.21.0 в SDK поставляется файл values-night/colors.xml. Если вы переопределяете цвета SDK в собственном values/colors.xml, добавьте соответствующие переопределения в values-night/colors.xml для корректного отображения в тёмной теме.

Прочее

ПолеОписаниеЗначение по умолчанию
gallerySearchTitleцвет текста для заголовка при поиске на экране галереиR.color.ecc_white
gallerySearchSubtitleцвет текста для подзаголовка при поиске на экране галереиR.color.ecc_gallery_search_subtitle
galleryImageBottomNameцвет для названия файла под изображениемR.color.ecc_white
mediaAndFilesTextцвет текста в разделе «Файлы и медиа» для заголовка, размера файла и его времениR.color.ecc_black
filesAndMediaIconTintцвет иконок в разделе «Файлы и медиа»R.color.ecc_green_83b144
chatBackgroundфоновый цвет для окна чатаR.color.ecc_chat_background
imageScreenBackgroundфоновый цвет на полноэкранном просмотре изображенияR.color.ecc_attachments_background
emptyStateBackgroundфоновый цвет, если нет сообщений в чатеR.color.ecc_empty_state_background
separatorsцвет разделителей в чатеR.color.ecc_icon_and_separators_color
imagesScreenTextцвет текста на полноэкранном просмотре изображенияR.color.ecc_white
emptyFilesAndMediaTextцвет текста в случае отсутствия элементов на экране «Файлы и медиа»R.color.ecc_black
audioStatusцвет текста для текущего статуса аудио ("processing", например)R.color.ecc_black
alertsTextцвет текста на всплывающих экранах (alerts)R.color.ecc_black
loaderTextColorцвет текста для сообщения при лоадереR.color.ecc_black
balloonTextцвет текста во всплывающих сообщениях (Toast или Snackbar)R.color.ecc_black
balloonBackgroundфоновый цвет во всплывающих сообщениях (Toast или Snackbar)R.color.ecc_white
welcomeScreenTitleTextцвет текста для заголовка на приветственном экранеR.color.ecc_welcome_screen_title
welcomeScreenSubtitleTextцвет текста для подзаголовка на приветственном экранеR.color.ecc_welcome_screen_subtitle
popupsBackgroundЦвет фона всплывающих окон (popup)R.color.ecc_cian_b2dfdb
swipeRefreshColorsнабор из трёх цветов для лоадера, вызываемого жестом «swipe to refresh» (@ArrayRes Int)R.array.ecc_swipe_refresh_colors

Базовая кастомизация

val colors = ChatColors().apply {
main = R.color.your_brand_primary
toolbar = R.color.your_brand_toolbar
outgoingBubble = R.color.your_brand_primary
incomingBubble = R.color.your_incoming_bubble
}

val theme = ChatTheme(
applicationContext,
colors = colors
)
Подмена только нужных полей

Конструктор ChatColors() без параметров создаёт объект со всеми дефолтами. Через apply { ... } подменяйте только те поля, которые нужны вашему бренду — остальные останутся стандартными.

Дефолты-ссылки на другие поля срабатывают только в конструкторе

17 полей по умолчанию ссылаются на другие поля ChatColors (например, outgoingBubble = main, pushMessage = inputMessage, progressButtonStartDownloadTint = bodyIconsTint). Эта связь — обычный Kotlin default-параметр, который вычисляется один раз при вызове конструктора. Изменение «базового» поля через apply { ... } не обновит зависимые поля.

val colors = ChatColors().apply {
main = R.color.your_brand_primary
// outgoingBubble, sendBtnIconColor, chatErrorScreenImageTint, searchHighlight,
// surveyButtonBackgroundTintColor, voiceBtnBackground, quoteClearIcon,
// bodyIconsTint (и зависящие от него progressButton*Tint) остаются
// со стандартными значениями SDK.
}

Чтобы распространить значение на зависимые поля, передавайте «базовое» поле именованным аргументом конструктора:

val colors = ChatColors(
main = R.color.your_brand_primary // выражения-дефолты подхватят его автоматически
)

Дополнительно chatButtonTintColorStateList имеет дефолт arrayOf(disabledColor, main, main) — он также собирается из значений, актуальных на момент вызова конструктора.

Полный бренд-комплект

ChatColors передаётся в ChatTheme рядом с ChatImages и ChatTypography.

val brandColors = ChatColors().apply {
main = R.color.brand_primary
toolbar = R.color.brand_toolbar
statusBar = R.color.brand_status_bar
outgoingBubble = R.color.brand_primary
chatBackground = R.color.brand_background
}

val theme = ChatTheme(
applicationContext,
colors = brandColors,
images = brandImages,
typography = brandTypography
)

Подробный сценарий сборки светлой и тёмной тем — в разделе Темы.

Справочник параметров ChatImages

Раздел перенесён в Дизайн-система → Изображения: все 66 полей ChatImages сгруппированы по категориям (Тулбар и навигация, Поле ввода и отправка, Сообщения и баблы, Статусы сообщений, Цитаты и реплаи, Голосовые сообщения, Файлы и загрузки, Меню вложений (BottomMenuChatFlow), Поиск, Опросы (Survey), Прокрутка, Аватары и плейсхолдеры, Push-уведомления и алерты, Ошибки и расписание).

Справочник шрифтов (ChatTypography)

Раздел перенесён в Дизайн-система → Типографика: 6 семантических токенов (big, medium, mediumUpper, regular, small, error) и 20 точек подмены кастомных TTF-шрифтов.

ChatTexts (deprecated)

Все поля ChatTexts помечены @Deprecated

Не передавайте значения через ChatTexts — вместо этого переопределяйте соответствующие ключи в файле res/values/strings.xml вашего приложения. Полный список ключей см. в разделе Локализация.

Связанные разделы