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.

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

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>

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

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

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>

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>

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>

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>

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

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>

colors.xml
<color name="tapSelectedMediaPreviewThumbnailBorderColor">@color/yourColor</color>
<color name="tapMediaPreviewWarningBackgroundColor">@color/yourColor</color>
colors.xml
<color name="tapSearchConnectionLostInfoBackgroundColor">@color/yourColor</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>

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

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>

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>

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

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>

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>

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>

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>

<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>

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

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.

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>

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>

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

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

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>

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 name="tapRoomListMessageHighlightedColor">@color/yourColor</color>
<color name="tapRoomListTimeColor">@color/yourColor</color>
<color name="tapGroupRoomListSenderNameColor">@color/yourColor</color>
<color name="tapRoomListUnreadBadgeLabelColor">@color/yourColor</color>

styles.xml
<style name="tapNewChatMenuLabelStyle"></style>
colors.xml
<color name="tapNewChatMenuLabelColor">@color/yourColor</color>

styles.xml
<style name="tapChatProfileRoomNameStyle"></style>
<style name="tapChatProfileMenuLabelStyle"></style>
<style name="tapChatProfileMenuDestructiveLabelStyle"></style>
colors.xml
<color name="tapChatProfileRoomNameColor">@color/yourColor</color>
<color name="tapChatProfileMenuLabelColor">@color/yourColor</color>
<color name="tapChatProfileMenuDestructiveLabelColor">@color/yourColor</color>

styles.xml
<style name="tapMediaListInfoLabelStyle"></style>
colors.xml
<color name="tapMediaListInfoLabelColor">@color/yourColor</color>

styles.xml
<style name="tapSearchNewContactResultNameStyle"></style>
<style name="tapSearchNewContactResultUsernameStyle"></style>
colors.xml
<color name="tapSearchNewContactResultNameColor">@color/yourColor</color>
<color name="tapSearchNewContactResultUsernameColor">@color/yourColor</color>
styles.xml
<style name="tapAlbumNameLabelStyle"></style>
<style name="tapAlbumCountLabelStyle"></style>