Customize UI Appearance

If you are using the default interface from TapTalk.io UI implementation type, you can customize the appearance of the chat UI. To do this, open your application's colors.xml or styles.xml file and override the values present in TapTalk.io library's values.xml file.

Customize Default Color Theme

To customize the chat UI's color theme, open your colors.xml file and add override following values with your own colors:
colors.xml
<!--TapTalk Default Colors-->
<color name="tapColorPrimaryExtraLight">@color/yourExtraLightColor</color>
<color name="tapColorPrimaryLight">@color/yourLightColor</color>
<color name="tapColorPrimary">@color/yourPrimaryLightColor</color>
<color name="tapColorPrimaryDark">@color/yourDarkColor</color>
<color name="tapColorAccent">@color/yourAccentColor</color>
Note: you can override the default color values partially, but it is recommended to change all of them accordingly to make sure the color theme within the chat UI matches

Customize General Colors

The following are the values used as general component colors, present in colors.xml
colors.xml
<!--Light text color on dark background-->
<color name="tapColorTextLight">@color/yourLightTextColor</color>
​
<!--Medium text color generally used on subtitles or placeholders-->
<color name="tapColorTextMedium">@color/yourMediumTextColor</color>
​
<!--Dark text color on light background-->
<color name="tapColorTextDark">@color/yourDarkTextColor</color>
​
<!--Identifies successful actions-->
<color name="tapColorSuccess">@color/yourSuccessTextColor</color>
​
<!--Identifies errors or destructive actions-->
<color name="tapColorError">@color/yourErrorTextColor</color>
​
<!--Primary colored icons used on light background-->
<color name="tapColorPrimaryIcon">@color/yourPrimaryIconColor</color>
​
<!--White icons used on colored background-->
<color name="tapColorWhiteIcon">@color/yourCustomLightIconColor</color>
​
<!--Default color for gray icons-->
<color name="tapColorGrayIcon">@color/yourGrayIconColor</color>
​
<!--Default icon color for successful actions-->
<color name="tapColorSuccessIcon">@color/yourSuccessIconColor</color>
​
<!--Default icon color for errors or destructive actions-->
<color name="tapColorDestructiveIcon">@color/yourDestructiveIconColor</color>

Customize Component Colors

The following are the values used as specific component colors, present in colors.xml.

Default Components

colors.xml
<color name="tapDefaultNavBarBackgroundColor">@color/yourColor</color>
<color name="tapDefaultBackgroundColor">@color/yourColor</color>

Chat Bubble

colors.xml
<color name="tapDefaultRightBubbleBackgroundColor">@color/yourColor</color>
<color name="tapDefaultRightBubbleDarkBackgroundColor">@color/yourColor</color>
<color name="tapDefaultLeftBubbleBackgroundColor">@color/yourColor</color>
<color name="tapDefaultLeftBubbleDarkBackgroundColor">@color/yourColor</color>

Text Field

colors.xml
<color name="tapTextFieldCursorColor">@color/yourColor</color>
<color name="tapTextFieldBorderActiveColor">@color/yourColor</color>
<color name="tapTextFieldBorderInactiveColor">@color/yourColor</color>
<color name="tapTextFieldBorderErrorColor">@color/yourColor</color>

Button

colors.xml
<color name="tapButtonInactiveBackgroundGradientLightColor">@color/yourColor</color>
<color name="tapButtonInactiveBackgroundGradientDarkColor">@color/yourColor</color>
<color name="tapButtonInactiveBorderColor">@color/yourColor</color>
<color name="tapButtonActiveBackgroundGradientLightColor">@color/yourColor</color>
<color name="tapButtonActiveBackgroundGradientDarkColor">@color/yourColor</color>
<color name="tapButtonActiveBorderColor">@color/yourColor</color>
<color name="tapButtonDestructiveBackgroundColor">@color/yourColor</color>
<color name="tapButtonIconColor">@color/yourColor</color>
<color name="tapButtonIconPrimaryColor">@color/yourColor</color>
<color name="tapButtonIconDestructiveColor">@color/yourColor</color>

Switch

colors.xml
<color name="tapSwitchActiveBackgroundColor">@color/yourColor</color>
<color name="tapSwitchInactiveBackgroundColor">@color/yourColor</color>
colors.xml
<color name="tapPopupDialogPrimaryButtonBackgroundSuccessColor">@color/yourColor</color>
<color name="tapPopupDialogPrimaryButtonBackgroundErrorColor">@color/yourColor</color>
<color name="tapPopupDialogSecondaryButtonBackgroundColor">@color/yourColor</color>

Unread Badge

colors.xml
<color name="tapUnreadBadgeBackgroundColor">@color/yourColor</color>
<color name="tapUnreadBadgeInactiveBackgroundColor">@color/yourColor</color>

Chat Room Page

colors.xml
<color name="tapChatComposerBackgroundColor">@color/yourColor</color>
<color name="tapQuoteLayoutDecorationBackgroundColor">@color/yourColor</color>
<color name="tapRightBubbleBackgroundColor">@color/yourColor</color>
<color name="tapLeftBubbleBackgroundColor">@color/yourColor</color>
<color name="tapRightBubbleQuoteBackgroundColor">@color/yourColor</color>
<color name="tapLeftBubbleQuoteBackgroundColor">@color/yourColor</color>
<color name="tapRightBubbleQuoteDecorationBackgroundColor">@color/yourColor</color>
<color name="tapLeftBubbleQuoteDecorationBackgroundColor">@color/yourColor</color>
<color name="tapRightFileButtonBackgroundColor">@color/yourColor</color>
<color name="tapLeftFileButtonBackgroundColor">@color/yourColor</color>
<color name="tapSystemMessageBackgroundColor">@color/yourColor</color>
<color name="tapUnreadIdentifierBackgroundColor">@color/yourColor</color>
<color name="tapFileProgressBackgroundColorWhite">@color/yourColor</color>
<color name="tapFileProgressBackgroundColorPrimary">@color/yourColor</color>
<color name="tapDeletedChatRoomInfoBackgroundColor">@color/yourColor</color>
<color name="tapChatRoomBackgroundColor">@color/yourColor</color>

Media Preview

colors.xml
<color name="tapSelectedMediaPreviewThumbnailBorderColor">@color/yourColor</color>
<color name="tapMediaPreviewWarningBackgroundColor">@color/yourColor</color>
colors.xml
<color name="tapSearchConnectionLostInfoBackgroundColor">@color/yourColor</color>

Default Avatar Background Color

colors.xml
<color name="tapDefaultAvatarBackgroundColor1">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor2">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor3">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor4">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor5">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor6">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor7">@color/yourColor</color>
<color name="tapDefaultAvatarBackgroundColor8">@color/yourColor</color>

Customize Icon Colors

To customize specific icon colors, you can override the following values in your colors.xml file.

Default Icons

colors.xml
<color name="tapIconLoadingProgressPrimary">@color/yourColor</color>
<color name="tapIconLoadingProgressWhite">@color/yourColor</color>
<color name="tapIconChevronRightPrimary">@color/yourColor</color>
<color name="tapIconChevronRightGray">@color/yourColor</color>
<color name="tapIconChecklist">@color/yourColor</color>
<color name="tapIconCircleSelectionActive">@color/yourColor</color>
<color name="tapIconCircleSelectionInactive">@color/yourColor</color>
<color name="tapIconLoadingPopupSuccess">@color/yourColor</color>
<color name="tapIconSearchConnectionLost">@color/yourColor</color>
<color name="tapIconMessageSending">@color/yourColor</color>
<color name="tapIconMessageFailed">@color/yourColor</color>
<color name="tapIconMessageSent">@color/yourColor</color>
<color name="tapIconMessageDelivered">@color/yourColor</color>
<color name="tapIconMessageRead">@color/yourColor</color>
<color name="tapIconMessageDeleted">@color/yourColor</color>
<color name="tapIconRemoveItem">@color/yourColor</color>
<color name="tapIconRemoveItemBackground">@color/yourColor</color>
colors.xml
<color name="tapIconNavigationBarBackButton">@color/yourColor</color>
<color name="tapIconTransparentBackgroundBackButton">@color/yourColor</color>
<color name="tapIconNavBarCloseButton">@color/yourColor</color>
<color name="tapIconNavBarMagnifier">@color/yourColor</color>
<color name="tapIconSearchBarMagnifier">@color/yourColor</color>
<color name="tapIconClearTextButton">@color/yourColor</color>

Room List Page Icons

colors.xml
<color name="tapIconRoomListSettingUp">@color/yourColor</color>
<color name="tapIconRoomListSetupSuccess">@color/yourColor</color>
<color name="tapIconRoomListSetupFailure">@color/yourColor</color>
<color name="tapIconRoomListRetrySetupButton">@color/yourColor</color>
<color name="tapIconRoomListMuted">@color/yourColor</color>
<color name="tapIconStartNewChatButton">@color/yourColor</color>

New Chat Page Icons

colors.xml
<color name="tapIconMenuNewContact">@color/yourColor</color>
<color name="tapIconMenuScanQRCode">@color/yourColor</color>
<color name="tapIconMenuCreateNewGroup">@color/yourColor</color>

Chat / Group Profile Page Icons

colors.xml
<color name="tapIconChatProfileMenuNotificationActive">@color/yourColor</color>
<color name="tapIconChatProfileMenuNotificationInactive">@color/yourColor</color>
<color name="tapIconChatProfileMenuConversationColor">@color/yourColor</color>
<color name="tapIconChatProfileMenuBlockUser">@color/yourColor</color>
<color name="tapIconChatProfileMenuSearchChat">@color/yourColor</color>
<color name="tapIconChatProfileMenuClearChat">@color/yourColor</color>
<color name="tapIconGroupProfileMenuViewMembers">@color/yourColor</color>
<color name="tapIconGroupMemberProfileMenuAddToContacts">@color/yourColor</color>
<color name="tapIconGroupMemberProfileMenuSendMessage">@color/yourColor</color>
<color name="tapIconGroupMemberProfileMenuPromoteAdmin">@color/yourColor</color>
<color name="tapIconGroupMemberProfileMenuDemoteAdmin">@color/yourColor</color>
<color name="tapIconGroupMemberProfileMenuRemoveMember">@color/yourColor</color>

Media / Image Detail Preview Icons

colors.xml
<color name="tapIconMediaPreviewAdd">@color/yourColor</color>
<color name="tapIconMediaPreviewWarning">@color/yourColor</color>
<color name="tapIconMediaPreviewThumbnailWarning">@color/yourColor</color>
<color name="tapIconMediaPreviewThumbnailWarningBackground">@color/yourColor</color>
<color name="tapIconSaveImage">@color/yourColor</color>
<color name="tapIconMediaListVideo">@color/yourColor</color>

Bottom Sheet Icons

colors.xml
<color name="tapIconLongPressActionCopy">@color/yourColor</color>
<color name="tapIconLongPressActionReply">@color/yourColor</color>
<color name="tapIconLongPressActionForward">@color/yourColor</color>
<color name="tapIconLongPressActionDelete">@color/yourColor</color>
<color name="tapIconLongPressActionCallNumber">@color/yourColor</color>
<color name="tapIconLongPressActionSmsNumber">@color/yourColor</color>
<color name="tapIconLongPressActionOpenLink">@color/yourColor</color>
<color name="tapIconLongPressActionComposeEmail">@color/yourColor</color>
<color name="tapIconLongPressActionSaveToGallery">@color/yourColor</color>
<color name="tapIconAttachDocuments">@color/yourColor</color>
<color name="tapIconAttachCamera">@color/yourColor</color>
<color name="tapIconAttachGallery">@color/yourColor</color>
<color name="tapIconAttachAudio">@color/yourColor</color>
<color name="tapIconAttachContact">@color/yourColor</color>
<color name="tapIconAttachLocation">@color/yourColor</color>

Chat Room Page Icons

colors.xml
<color name="tapIconChatComposerSend">@color/yourColor</color>
<color name="tapIconChatComposerSendInactive">@color/yourColor</color>
<color name="tapIconChatComposerBurgerMenu">@color/yourColor</color>
<color name="tapIconChatComposerShowKeyboard">@color/yourColor</color>
<color name="tapIconChatComposerSendBackground">@color/yourColor</color>
<color name="tapIconChatComposerSendBackgroundInactive">@color/yourColor</color>
<color name="tapIconChatComposerBurgerMenuBackground">@color/yourColor</color>
<color name="tapIconChatComposerShowKeyboardBackground">@color/yourColor</color>
<color name="tapIconChatComposerAttach">@color/yourColor</color>
<color name="tapIconFileWhite">@color/yourColor</color>
<color name="tapIconFileUploadDownloadWhite">@color/yourColor</color>
<color name="tapIconFileCancelUploadDownloadWhite">@color/yourColor</color>
<color name="tapIconFileRetryUploadDownloadWhite">@color/yourColor</color>
<color name="tapIconFilePrimary">@color/yourColor</color>
<color name="tapIconFileUploadDownloadPrimary">@color/yourColor</color>
<color name="tapIconFileCancelUploadDownloadPrimary">@color/yourColor</color>
<color name="tapIconFileRetryUploadDownloadPrimary">@color/yourColor</color>
<color name="tapIconFilePlayMedia">@color/yourColor</color>
<color name="tapIconDeletedRightMessageBubble">@color/yourColor</color>
<color name="tapIconDeletedLeftMessageBubble">@color/yourColor</color>
<color name="tapIconChatRoomUnreadButton">@color/yourColor</color>
<color name="tapIconChatRoomUnreadIdentifier">@color/yourColor</color>
<color name="tapIconChatRoomScrollToBottom">@color/yourColor</color>
<color name="tapIconChatRoomScrollToBottomBackground">@color/yourColor</color>
<color name="tapIconUserStatusActive">@color/yourColor</color>
<color name="tapIconChatRoomCancelQuote">@color/yourColor</color>
<color name="tapIconDeletedChatRoom">@color/yourColor</color>
<color name="tapIconQuotedFileBackground">@color/yourColor</color>
<color name="tapIconLocationBubbleMarker">@color/yourColor</color>

Location Picker Icons

<color name="tapIconLocationPickerMarker">@color/yourColor</color>
<color name="tapIconLocationPickerRecenter">@color/yourColor</color>
<color name="tapIconLocationPickerRecenterBackground">@color/yourColor</color>
<color name="tapIconLocationPickerSendLocation">@color/yourColor</color>
<color name="tapIconLocationPickerSendLocationBackground">@color/yourColor</color>
<color name="tapIconLocationPickerAddressActive">@color/yourColor</color>
<color name="tapIconLocationPickerAddressInactive">@color/yourColor</color>

Scan Result

colors.xml
<color name="tapIconCloseScanResult">@color/yourColor</color>
<color name="tapIconCloseScanResultBackground">@color/yourColor</color>

Customize Font Style

To use your application's font resource in the chat UI, override the following values in your application's styles.xml file.
styles.xml
<style name="tapFontFamilyLight">
<item name="android:fontFamily">@font/your_light_font</item>
</style>
​
<style name="tapFontFamilyRegular">
<item name="android:fontFamily">@font/your_regular_font</item>
</style>
​
<style name="tapFontFamilyMedium">
<item name="android:fontFamily">@font/your_medium_font</item>
</style>
​
<style name="tapFontFamilyBold">
<item name="android:fontFamily">@font/your_bold_font</item>
</style>
​
<style name="tapFontFamilyItalic">
<item name="android:fontFamily">@font/your_italic_font</item>
</style>
You can also override the following styles to customize specific text styles to your liking, or you you may also override their respective color value in colors.xml if you wish to change only the color of the text.

Default Font Styles

styles.xml
<style name="tapTitleLabelStyle"></style>
<style name="tapNavBarTitleLabelStyle"></style>
<style name="tapNavBarButtonLabelStyle"></style>
<style name="tapFormLabelStyle"></style>
<style name="tapFormDescriptionLabelStyle"></style>
<style name="tapFormErrorInfoLabelStyle"></style>
<style name="tapFormTextFieldStyle"></style>
<style name="tapFormTextFieldPlaceholderStyle"></style>
<style name="tapClickableLabelStyle"></style>
<style name="tapClickableDestructiveLabelStyle"></style>
<style name="tapButtonLabelStyle"></style>
<style name="tapButtonInactiveLabelStyle"></style>
<style name="tapInfoLabelTitleStyle"></style>
<style name="tapInfoLabelSubtitleStyle"></style>
<style name="tapInfoLabelBodyStyle"></style>
<style name="tapPopupLoadingLabelStyle"></style>
<style name="tapSearchConnectionLostTitleStyle"></style>
<style name="tapSearchConnectionLostDescriptionStyle"></style>
<style name="tapDefaultRoomAvatarSmallFontStyle"></style>
<style name="tapDefaultRoomAvatarMediumFontStyle"></style>
<style name="tapDefaultRoomAvatarLargeFontStyle"></style>
<style name="tapDefaultRoomAvatarExtraLargeFontStyle"></style>
colors.xml
<color name="tapTitleLabelColor">@color/yourColor</color>
<color name="tapNavBarTitleLabelColor">@color/yourColor</color>
<color name="tapNavBarButtonLabelColor">@color/yourColor</color>
<color name="tapFormLabelColor">@color/yourColor</color>
<color name="tapFormDescriptionLabelColor">@color/yourColor</color>
<color name="tapFormErrorInfoLabelColor">@color/yourColor</color>
<color name="tapFormTextFieldColor">@color/yourColor</color>
<color name="tapFormTextFieldPlaceholderColor">@color/yourColor</color>
<color name="tapClickableLabelColor">@color/yourColor</color>
<color name="tapClickableDestructiveLabelColor">@color/yourColor</color>
<color name="tapButtonLabelColor">@color/yourColor</color>
<color name="tapButtonInactiveLabelColor">@color/yourColor</color>
<color name="tapInfoLabelTitleColor">@color/yourColor</color>
<color name="tapInfoLabelSubtitleColor">@color/yourColor</color>
<color name="tapInfoLabelBodyColor">@color/yourColor</color>
<color name="tapPopupLoadingLabelColor">@color/yourColor</color>
<color name="tapSearchConnectionLostTitleColor">@color/yourColor</color>
<color name="tapSearchConnectionLostDescriptionColor">@color/yourColor</color>
<color name="tapDefaultRoomAvatarSmallFontColor">@color/yourColor</color>
<color name="tapDefaultRoomAvatarMediumFontColor">@color/yourColor</color>
<color name="tapDefaultRoomAvatarLargeFontColor">@color/yourColor</color>
<color name="tapDefaultRoomAvatarExtraLargeFontColor">@color/yourColor</color>

Search Bar Font Styles

styles.xml
<style name="tapSearchBarTextStyle"></style>
<style name="tapNavBarSearchTextStyle"></style>
colors.xml
<color name="tapSearchBarTextColor">@color/yourColor</color>
<color name="tapSearchBarTextPlaceholderColor">@color/yourColor</color>
<color name="tapSearchBarCancelButtonColor">@color/yourColor</color>
<color name="tapNavBarSearchTextColor">@color/yourColor</color>
styles.xml
<style name="tapPopupDialogTitleStyle"></style>
<style name="tapPopupDialogBodyStyle"></style>
<style name="tapPopupDialogButtonTextPrimaryStyle"></style>
<style name="tapPopupDialogButtonTextSecondaryStyle"></style>
colors.xml
<color name="tapPopupDialogTitleColor">@color/yourColor</color>
<color name="tapPopupDialogBodyColor">@color/yourColor</color>
<color name="tapPopupDialogButtonTextPrimaryColor">@color/yourColor</color>
<color name="tapPopupDialogButtonTextSecondaryColor">@color/yourColor</color>

Bottom Sheet Font Styles

styles.xml
<style name="tapActionSheetDefaultLabelStyle"></style>
<style name="tapActionSheetDestructiveLabelStyle"></style>
colors.xml
<color name="tapActionSheetDefaultLabelColor">@color/yourColor</color>
<color name="tapActionSheetDestructiveLabelColor">@color/yourColor</color>

List Section Header Font Styles

styles.xml
<style name="tapSectionHeaderLabelStyle"></style>
colors.xml
<color name="tapSectionHeaderLabelColor">@color/yourColor</color>

Contact List Font Styles

styles.xml
<style name="tapContactListNameStyle"></style>
<style name="tapContactListUsernameStyle"></style>
colors.xml
<color name="tapContactListNameColor">@color/yourColor</color>
<color name="tapContactListNameHighlightedColor">@color/yourColor</color>
<color name="tapContactListUsernameColor">@color/yourColor</color>

Room List Page Font Styles

styles.xml
<style name="tapRoomListNameStyle"></style>
<style name="tapRoomListNameHighlightedStyle"></style>
<style name="tapRoomListMessageStyle"></style>
<style name="tapRoomListMessageHighlightedStyle"></style>
<style name="tapGroupRoomListSenderNameStyle"></style>
<style name="tapRoomListTimeStyle"></style>
<style name="tapRoomListUnreadBadgeLabelStyle"></style>
colors.xml
<color name="tapRoomListNameColor">@color/yourColor</color>
<color name="tapRoomListNameHighlightedColor">@color/yourColor</color>
<color name="tapRoomListMessageColor">@color/yourColor</color>
<color