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

Изображения (ChatImages)

ChatImages управляет всеми иконками и drawable-ресурсами SDK. Значения задаются ссылками R.drawable.*. Для searchLoader по умолчанию используется тот же ресурс, что и в поле loader.

Все поля имеют тип Int (@DrawableRes). Большинство дефолтов — ресурсы с префиксом ecc_*; отдельные исключения (маски и баблы сообщений, фон расписания, стрелка результатов поиска) видны в таблицах ниже.

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

Ниже — исчерпывающий список настраиваемых иконок SDK, сгруппированный по экранам/контексту. Если иконки нет в этих таблицах — она не входит в публичный API и менять её нельзя.

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

ПолеОписаниеЗначение по умолчанию
backBtnКнопка «назад» в тулбареR.drawable.ecc_ic_arrow_back_white_24dp
menuIconКнопка меню в тулбареR.drawable.ecc_ic_more_vert_24dp
searchIconИконка поискаR.drawable.ecc_ic_search_white_24dp
copyIconКнопка «Копировать» в тулбареR.drawable.ecc_ic_content_copy_24dp
replyIconКнопка «Ответить/процитировать» в тулбареR.drawable.ecc_ic_reply_24dp

Поле ввода и отправка

ПолеОписаниеЗначение по умолчанию
chatInputBackgroundФон поля ввода сообщенияR.drawable.ecc_chat_input_background
attachIconИконка скрепки (добавление вложения)R.drawable.ecc_ic_attachment_button
sendBtnКнопка отправки сообщенияR.drawable.ecc_ic_send_button
voiceBtnBackgroundФон кнопки записи голосового сообщенияR.drawable.ecc_record_button_background
voiceBtnIconИконка микрофона в кнопке записи голосовогоR.drawable.ecc_record_button_icon
quoteClearBtnОтмена цитирования в поле вводаR.drawable.ecc_ic_clear_36dp

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

ПолеОписаниеЗначение по умолчанию
incomingBubbleImageМаска формы входящего бабблаR.drawable.alt_ecc_incoming_bubble
outgoingBubbleImageМаска формы исходящего бабблаR.drawable.alt_ecc_outgoing_bubble
incomingImageMaskМаска формы входящего изображения в сообщенииR.drawable.alt_ecc_incoming_image_mask
outgoingImageMaskМаска формы исходящего изображенияR.drawable.alt_ecc_outgoing_image_mask
imagePlaceholderПлейсхолдер изображения в сообщенииR.drawable.ecc_image_placeholder
timestampOutgoingBackgroundПодложка времени в исходящем сообщенииR.drawable.ecc_timestamp_outgoing_underlayer
timestampIncomingBackgroundПодложка времени во входящем сообщенииR.drawable.ecc_timestamp_incoming_background

Статусы сообщений

ПолеОписаниеЗначение по умолчанию
messageSendingСтатус «отправляется»R.drawable.ecc_message_image_sending
messageSentСтатус «отправлено»R.drawable.ecc_message_image_sending
messageDeliveredСтатус «доставлено»R.drawable.ecc_message_image_delivered
messageReadСтатус «прочитано»R.drawable.ecc_image_message_read
messageFailedСтатус «ошибка»R.drawable.ecc_message_image_failed
messageEditedStatusIconМетка «отредактировано»R.drawable.ecc_message_image_edited
Совпадающий дефолт

messageSending и messageSent по умолчанию используют один и тот же ресурс. Чтобы визуально отличать «отправляется» от «отправлено», переопределите messageSent своим drawable.

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

ПолеОписаниеЗначение по умолчанию
quoteBackgroundImageФон блока цитатыR.drawable.ecc_quote_background
quoteIconBackgroundПодложка иконки файла/микрофона в цитатеR.drawable.ecc_circle_gray_48dp
quoteFileIconИконка файла в цитатеR.drawable.ecc_ic_file_outline_24dp
quoteMicIconИконка микрофона в цитате аудио-сообщенияR.drawable.ecc_ic_mic_24dp
quoteImageMaskМаска изображения в цитатеR.drawable.ecc_quote_image_mask

Голосовые сообщения

ПолеОписаниеЗначение по умолчанию
playIconЗапуск воспроизведенияR.drawable.ecc_voice_message_play
pauseIconПауза воспроизведенияR.drawable.ecc_voice_message_pause

Файлы и загрузки

ПолеОписаниеЗначение по умолчанию
downloadIconСкачать файл (тулбар)R.drawable.ecc_ic_file_download_white_24dp
progressButtonStartDownloadНачало загрузкиR.drawable.ecc_ic_vertical_align_bottom_18dp
progressButtonInProgressОтмена идущей загрузкиR.drawable.ecc_ic_clear_36dp
progressButtonCompletedЗагрузка завершенаR.drawable.ecc_ic_file_outline_24dp
selectRingКружок выбора файла (невыбранный)R.drawable.ecc_aqua_ring

Меню вложений (BottomMenuChatFlow)

ПолеОписаниеЗначение по умолчанию
attachmentCameraIconКамера в меню вложенийR.drawable.ecc_ic_camera_42dp
attachmentGalleryIconГалерея в меню вложенийR.drawable.ecc_ic_photo_42dp
attachmentFileIconВыбор файла в меню вложенийR.drawable.ecc_ic_file_fill_42dp
attachmentSendIconОтправить с вложениемR.drawable.ecc_ic_send_42dp
attachmentQuoteIconЦитировать с вложениемR.drawable.ecc_ic_reply_gray_24dp

Поиск

ПолеОписаниеЗначение по умолчанию
clearSearchОчистка поля поискаR.drawable.ecc_ic_clear_gray_30dp
searchLoaderЛоадер при загрузке результатовR.drawable.ecc_im_loading (значение поля loader)
searchResultsItemRightArrowСтрелка в результатах поискаR.drawable.right_arrow
searchResultNoItemsImageИзображение «ничего не найдено»R.drawable.ecc_search_not_found

Опросы (Survey)

ПолеОписаниеЗначение по умолчанию
quickReplyButtonBackgroundФон кнопки быстрого ответаR.drawable.ecc_quick_reply_button_background
surveyButtonBackgroundФон кнопки опросаR.drawable.ecc_survey_button_backround
rateStarSelectedЗаполненная звезда (rating-survey)R.drawable.ecc_options_survey_selected
rateStarUnselectedПустая звездаR.drawable.ecc_options_survey_unselected
binarySurveyLikeUnselectedIconПалец вверх (пустой)R.drawable.ecc_binary_survey_like_unselected
binarySurveyLikeSelectedIconПалец вверх (заполненный)R.drawable.ecc_binary_survey_like_selected
binarySurveyDislikeUnselectedIconПалец вниз (пустой)R.drawable.ecc_binary_survey_dislike_unselected
binarySurveyDislikeSelectedIconПалец вниз (заполненный)R.drawable.ecc_binary_survey_dislike_selected

Прокрутка

ПолеОписаниеЗначение по умолчанию
scrollDownButtonIconИконка кнопки «↓ к последнему сообщению»R.drawable.ecc_scroll_down_icon
scrollDownBackgroundФон кнопки прокрутки внизR.drawable.ecc_scroll_down_background
scrollUpButtonIconИконка кнопки «↑ вверх»R.drawable.ecc_scroll_up_icon
scrollUpBackgroundФон кнопки прокрутки вверхR.drawable.ecc_scroll_down_background
Совпадающий дефолт

scrollDownBackground и scrollUpBackground по умолчанию указывают на один и тот же ресурс. Если фоны кнопок «↓» и «↑» в вашей теме должны различаться — переопределите оба поля.

Аватары и плейсхолдеры

ПолеОписаниеЗначение по умолчанию
operatorAvatarPlaceholderПлейсхолдер аватара оператораR.drawable.ecc_operator_avatar_placeholder
logoImageЛоготип на приветственном экранеR.drawable.ecc_welcome_logo
loaderГлавный лоадер по центру экранаR.drawable.ecc_im_loading

Push-уведомления и алерты

ПолеОписаниеЗначение по умолчанию
pushIconИконка push-уведомленияR.drawable.ecc_default_push_icon
balloonBackgroundФон Toast/SnackbarR.drawable.ecc_background_snackbar

Ошибки и расписание

ПолеОписаниеЗначение по умолчанию
errorScreenImageКартинка экрана-ошибки чатаR.drawable.ecc_serious_worker
scheduleMessageIconИконка сообщения о расписании оператораR.drawable.ecc_schedule_icon
scheduleMessageIconContainerПодложка под иконкой сообщения о расписанииR.drawable.circle_aqua_outline
infoIconИнформационная иконкаR.drawable.ecc_info_icon

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

val images = ChatImages().apply {
backBtn = R.drawable.your_back_24dp
sendBtn = R.drawable.your_send_24dp
operatorAvatarPlaceholder = R.drawable.your_avatar_placeholder
}

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

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

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

Если нужно собрать брендированную тему целиком — ChatImages передаётся в ChatTheme рядом с ChatColors и ChatTypography.

val brandImages = ChatImages().apply {
logoImage = R.drawable.brand_welcome_logo
backBtn = R.drawable.brand_ic_back
sendBtn = R.drawable.brand_ic_send
attachmentCameraIcon = R.drawable.brand_ic_camera
pushIcon = R.drawable.brand_ic_push
}

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

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

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