Getting Started
Migrating styling will be familiar, yet different. We have opened up more options for styling and kept most of the styling parameters while removing others in order to better support a wider range of styles.
Prerequisites
- If you haven’t already, you will need to update your app to use Material Components and AndroidX
- This should be a simple process and is highly recommended
- There are Bridge themes available if you cannot inherit from the MaterialComponents theme
What’s new?
- We are now using Material Design’s Material Components within our SDK (designed to be used with Material Design 2, but Material 3 will also work)
shouldInheritAppTheme
will let you decide if you want to use Apptentive’s colors or if we should inherit your app’s colors- Default is
true
, which will inherit your app’s colors
- Default is
- Every layout, text, button, widget, and most other views on the screen now have their own customization attribute associated with it
- We have removed all hard-coded stylings from the views themselves in order to give greater freedom when overriding our styles
- We now have an alpha attribute that allows us to give text better visual priorities without needing separate similar text colors
- These attributes are
apptentiveHeaderAlpha
andapptentiveSubheaderAlpha
- These attributes are
Deprecated Styles
Since our UI was updated, not all styles were able to migrate over or they did not translate well into the new architecture with new customization options.
How to override an Apptentive style
- Go to your
styles.xml
file - Add an
ApptentiveThemeOverride
style
<style name="ApptentiveThemeOverride">
// Override items go here
</style>
Apptentive Style Resources
- Android UI Cookbook with custom UI examples with code snippets
- Example app styles.xml file
- Check here for samples on how to use
ApptentiveThemeOverride
with the Cookbook styles.
- Check here for samples on how to use
- Apptentive default UI styles.xml file
- Check here for the defaults that Apptentive is using to style the views
- A good starting point for creating your custom UI
- Check here for the defaults that Apptentive is using to style the views
- Apptentive Attributes (apptentive-attrs.xml) file
- Check here for all available attributes (the other two styles files above should also have all)
Styling Information
Style / Theme Hierarchy
ApptentiveThemeOverride
(set only by the developer in theirstyles.xml
file) takes priority over all other stylings- Second priority, we disable the style item
android:background
- This is a problem style for many of our Material Design widgets
- We use
android:colorBackground
(Activities) andcolorSurface
(Dialogs) for background colors - If you do need to use
android:background
with our interactions, you can re-enable it withApptentiveThemeOverride
- Third priority, we apply the host app’s theme if
shouldInheritAppTheme
is set totrue
- Last priority, we apply Apptentive’s theme
- If
shouldInheritAppTheme
isfalse
and you don’t have anything set inApptentiveThemeOverride
, you will be able to see Apptentive’s default theme
- If
See ThemeHelper.kt for more info.
Important styles we inherit
Dialog colors (Love Dialog, Notes, Rating Dialog)
- Background uses
colorSurface
- Non-button text uses
colorOnSurface
- Button text uses
colorSecondary
Survey colors
- Toolbar (top and bottom) background uses
colorPrimary
- Toolbar (top and bottom) text uses
colorOnPrimary
- Activity main background uses
android:colorBackground
- Question Text uses
colorOnBackground
- Question Widgets use a combination of
colorOnBackground
andcolorSecondary
- Question Error Text uses
colorError
- Submit button uses
colorPrimary
- Submit button text uses
colorOnPrimary
Message Center colors
- Toolbar background (MC, Profile, & Image Preview) uses
colorPrimary
- Toolbar text (MC, Profile, & Image Preview) uses
colorOnPrimary
- Activity main background uses
android:colorBackground
- All text (except toolbar and error text) uses
colorOnBackground
- Name and Email (MC & Profile) text box widgets borders use
colorOnBackground
(Not focused) andcolorSecondary
(Focused) - Email (MC & Profile) text box widget error text and Message Compose text box widget error text use
colorError
- Attachment and send buttons use a combination of
colorSecondary
andandroid:colorBackground
- Message Compose text box widget border uses
colorPrimary
Apptentive Theme Default Colors
Item name | Light mode hex color | Dark mode hex color |
---|---|---|
colorPrimary | #2A3355 | #40566B |
colorOnPrimary | #FFFFFF | #E1E1E1 |
colorSecondary | #2A3355 | #94A8B8 |
colorOnSecondary | #FFFFFF | #E1E1E1 |
android:colorBackground | #FFFFFF | #212121 |
colorOnBackground | #2D2D2D | #C4C4C4 |
colorSurface | #FFFFFF | #212121 |
colorOnSurface | #2D2D2D | #C4C4C4 |
colorError | #B00020 | #DC9696 |
Message Center specific colors
Item name | Light mode hex color | Dark mode hex color |
---|---|---|
apptentiveMessageCenterBubbleColorOutbound (Incoming message bubble) | #EAEAEA | #C4C4C4 |
apptentiveMessageCenterTextColorOutbound (Incoming message text inside bubble) | #5D5D5D | #4A4A4A |
apptentiveMessageCenterColorDefaultAvatar (Avatar at top of MC. Replaced by image from backend) | #5A95D4 | #40566B |
apptentiveMessageCenterFillColorIconDocument apptentiveMessageCenterFillColorIconDownload (Icon colors for attachments that are not yet downloaded) | #000000 | #E1E1E1 |
apptentiveMessageCenterFillColorIconPreview apptentiveMessageCenterFillColorIconRemove (Icon colors for draft attachment options in bottom sheet) | #757575 | #E1E1E1 |
apptentiveMessageCenterColorBackgroundAttachment (Background color that attachment previews are set on) | #F5F5F5 | #E1E1E1 |
Interaction stylings
Love Dialog


Available Styles
Taken from apptentive-kit-android/apptentive-attrs.xml
<!-- Love Dialog Styles -->
<attr name="apptentiveLoveDialogLayoutStyle" format="color|reference" />
<attr name="apptentiveLoveDialogHeaderImageStyle" format="reference" />
<attr name="apptentiveLoveDialogTitleStyle" format="reference" />
<attr name="apptentiveLoveDialogTitleImageStyle" format="reference" />
<!-- No -> Yes Ordering (default) -->
<attr name="apptentiveLoveDialogButtonLayoutStyle" format="reference" />
<attr name="apptentiveLoveDialogYesButtonStyle" format="reference" />
<attr name="apptentiveLoveDialogNoButtonStyle" format="reference" />
<!-- Yes -> No Ordering -->
<attr name="apptentiveLoveDialogButtonLayoutStyleAlternate" format="reference" />
<attr name="apptentiveLoveDialogYesButtonStyleAlternate" format="reference" />
<attr name="apptentiveLoveDialogNoButtonStyleAlternate" format="reference" />
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Background | Element: apptentiveLoveDialogLayoutStyle _______________________________________________________________
|
Title | Element: apptentiveLoveDialogTitleStyle _______________________________________________________________
|
Button Layout | Element: apptentiveLoveDialogButtonLayoutStyle _______________________________________________________________
|
Positive Button (YES) | Element: apptentiveLoveDialogYesButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Negative Button (NO) | Element: apptentiveLoveDialogNoButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Header Image | Element: apptentiveLoveDialogHeaderImageStyle _______________________________________________________________
|
Image before Title Text | Element: apptentiveLoveDialogTitleImageStyle _______________________________________________________________
|
Alternate Layout option for a Yes -> No ordering | Element: apptentiveLoveDialogButtonLayoutStyleAlternate _______________________________________________________________
|
Positive Button (YES) in alternate Yes -> No Orientation | Element: apptentiveLoveDialogYesButtonStyleAlternate _______________________________________________________________
|
Negative Button (NO) in alternate Yes -> No Orientation | Element: apptentiveLoveDialogNoButtonStyleAlternate _______________________________________________________________
|
Note




Available Styles
Taken from apptentive-kit-android/apptentive-attrs.xml
<attr name="apptentiveNoteLayoutStyle" format="reference" />
<attr name="apptentiveNoteHeaderImageStyle" format="reference"/>
<attr name="apptentiveNoteTitleWithMessageTextStyle" format="reference" />
<attr name="apptentiveNoteTitleWithMessageImageStyle" format="reference" />
<attr name="apptentiveNoteTitleOrMessageOnlyTextStyle" format="reference" />
<attr name="apptentiveNoteTitleOrMessageOnlyImageStyle" format="reference" />
<attr name="apptentiveNoteMessageTextStyle" format="reference" />
<attr name="apptentiveNoteButtonLayoutStyle" format="reference" />
<attr name="apptentiveNoteButtonStyle" format="reference"/>
<attr name="apptentiveNoteDismissButtonStyle" format="reference"/>
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Background | Element: apptentiveNoteLayoutStyle _______________________________________________________________
|
Title (with Message) | Element: apptentiveNoteTitleWithMessageTextStyle _______________________________________________________________
|
Title OR Message ONLY | Element: apptentiveNoteTitleOrMessageOnlyTextStyle _______________________________________________________________
|
Message (with Title) | Element: apptentiveNoteMessageTextStyle _______________________________________________________________
|
Button Layout | Element: apptentiveNoteButtonLayoutStyle _______________________________________________________________
|
Buttons (all) | Element: apptentiveNoteButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
DISMISS Button (Same style as others, but opens up more customization options) | Element: apptentiveNoteDismissButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Header Image | Element: apptentiveNoteHeaderImageStyle _______________________________________________________________
|
Image before Title Text | Element: apptentiveNoteTitleWithMessageImageStyle _______________________________________________________________
|
Image before Title OR Message ONLY Text | Element: apptentiveNoteTitleOrMessageOnlyImageStyle _______________________________________________________________
|
Rating Dialog


See the Apptentive Rating Dialog article for more info on how and when to use the Apptentive Rating Dialog
Available Styles
Taken from apptentive-kit-android/apptentive-attrs.xml
<attr name="apptentiveRatingDialogLayoutStyle" format="reference" />
<attr name="apptentiveRatingDialogTitleTextStyle" format="reference" />
<attr name="apptentiveRatingDialogTitleImageStyle" format="reference" />
<attr name="apptentiveRatingDialogHeaderImageStyle" format="reference" />
<attr name="apptentiveRatingDialogButtonRateStyle" format="reference"/>
<attr name="apptentiveRatingDialogButtonRemindStyle" format="reference"/>
<attr name="apptentiveRatingDialogButtonDeclineStyle" format="reference"/>
<attr name="apptentiveRatingDialogMessageTextStyle" format="reference" />
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Background | Element: apptentiveRatingDialogLayoutStyle _______________________________________________________________
|
Title | Element: apptentiveRatingDialogTitleTextStyle _______________________________________________________________
|
Message | Element: apptentiveRatingDialogMessageTextStyle _______________________________________________________________
|
Buttons | Element: apptentiveRatingDialogButtonStyle . ( apptentiveRatingDialogButtonRateStyle , apptentiveRatingDialogButtonRemindStyle , and apptentiveRatingDialogButtonDeclineStyle )_______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Header Image | Element: apptentiveRatingDialogHeaderImageStyle _______________________________________________________________
|
Image before Title Text | Element: apptentiveRatingDialogTitleImageStyle _______________________________________________________________
|
Survey
Available Styles
Taken from apptentive-kit-android/apptentive-attrs.xml
<!-- Layout -->
<attr name="apptentiveSurveyLayoutStyle" format="reference"/>
<!-- App Bars -->
<attr name="apptentiveSurveyToolbarStyle" format="reference"/>
<attr name="apptentiveSurveyBottomAppBarStyle" format="reference"/>
<!-- TextViews -->
<attr name="apptentiveSurveyTitleStyle" format="reference"/>
<attr name="apptentiveSurveyIntroductionStyle" format="reference"/>
<attr name="apptentiveSurveyQuestionTitleStyle" format="reference"/>
<attr name="apptentiveSurveyQuestionInstructionsStyle" format="reference"/>
<attr name="apptentiveSurveyQuestionErrorStyle" format="reference"/>
<attr name="apptentiveSurveyRangeLabelStyle" format="reference"/>
<attr name="apptentiveSurveySubmitErrorStyle" format="reference" />
<attr name="apptentiveSurveyFootnoteStyle" format="reference" />
<attr name="apptentiveSurveyTermsAndConditionsStyle" format="reference" />
<!-- Widgets -->
<attr name="apptentiveSurveyHeaderImageStyle" format="reference"/>
<attr name="apptentiveSurveyCheckBoxStyle" format="reference"/>
<attr name="apptentiveSurveyRadioButtonStyle" format="reference"/>
<attr name="apptentiveSurveyRangeStyle" format="reference"/>
<attr name="apptentiveSurveySingleLineLayoutStyle" format="reference"/>
<attr name="apptentiveSurveySingleLineEditTextStyle" format="reference"/>
<attr name="apptentiveSurveyOtherTextFieldLayoutStyle" format="reference"/>
<attr name="apptentiveSurveyOtherTextFieldEditTextStyle" format="reference"/>
<attr name="apptentiveSurveySubmitButtonStyle" format="reference" />
<attr name="apptentiveSurveyButtonColorDefault" format="color|reference" />
<!-- Generic Dialog Styles -->
<attr name="apptentiveGenericDialogLayoutStyle" format="reference" />
<attr name="apptentiveGenericDialogTitleTextStyle" format="reference" />
<attr name="apptentiveGenericDialogTitleImageStyle" format="reference" />
<attr name="apptentiveGenericDialogHeaderImageStyle" format="reference" />
<attr name="apptentiveGenericDialogMessageTextStyle" format="reference" />
<attr name="apptentiveGenericDialogButtonLayoutStyle" format="reference" />
<attr name="apptentiveGenericDialogPositiveButtonStyle" format="reference" />
<attr name="apptentiveGenericDialogNegativeButtonStyle" format="reference" />
Status Bar, Toolbar, Title, and Introduction


Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Toolbar | Element: apptentiveSurveyToolbarStyle _______________________________________________________________ https://material.io/components/app-bars-top/android
|
Title | Element: apptentiveSurveyTitleStyle _______________________________________________________________
|
Introduction | Element: apptentiveSurveyIntroductionStyle _______________________________________________________________
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Toolbar Header Image (Small) Large Header Image can be done through the Toolbar itself (using android:background ) | Element: apptentiveSurveyTitleStyle _______________________________________________________________
|
General Question Structure (Title, Label, Error)




Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Title | Element: apptentiveSurveyQuestionTitleStyle _______________________________________________________________
|
Instructions | Element: apptentiveSurveyQuestionInstructionsStyle _______________________________________________________________
|
Error (only shows if there’s an issue with how the question was answered & the user tapped the Submit button) | Element: apptentiveNoteMessageTextStyle _______________________________________________________________
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Survey Question Layout | Element: apptentiveSurveyQuestionLayoutStyle _______________________________________________________________
|
Survey Question Divider | Element: apptentiveSurveyQuestionDividerStyle _______________________________________________________________
|
Single Select Question Type




Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Radio button style (includes text) | Element: apptentiveSurveyRadioButtonStyle _______________________________________________________________ https://material.io/components/radio-buttons/android
buttonTint file: apptentive_mtrl_selection_control_button_tint.xml
|
Other Option: TextInputLayout (Same styling for both Single Select and Multi Select question types) | Element: apptentiveSurveyOtherTextFieldLayoutStyle _______________________________________________________________ https://material.io/components/text-fields/android#outlined-text-field
boxStrokeColor file: apptentive_mtrl_outlined_stroke_color.xml
android:textColorHint & hintTextColor file: apptentive_mtrl_text_box_text_color.xml
|
Other Option: TextInputEditText (Same styling for both Single Select and Multi-Select question types) | Element: apptentiveSurveyOtherTextFieldEditTextStyle _______________________________________________________________
android:textCursorDrawable file: apptentive_mtrl_text_cursor.xml
|
Multi-Select Question Type




Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Checkbox style (includes text) | Element: apptentiveSurveyCheckBoxStyle _______________________________________________________________ https://material.io/components/checkboxes/android
buttonTint file: apptentive_mtrl_selection_control_button_tint.xml
|
Other Option: TextInputLayout (Same styling for both Single Select and Multi Select question types) | Element: apptentiveSurveyOtherTextFieldLayoutStyle _______________________________________________________________ https://material.io/components/text-fields/android#outlined-text-field
boxStrokeColor file: apptentive_mtrl_outlined_stroke_color.xml
android:textColorHint & hintTextColor file: apptentive_mtrl_text_box_text_color.xml
|
Other Option: TextInputEditText (Same styling for both Single Select and Multi-Select question types) | Element: apptentiveSurveyOtherTextFieldEditTextStyle _______________________________________________________________
android:textCursorDrawable file: apptentive_mtrl_text_cursor.xml
|
Free Form Question Types (Single-Line & Multi-Line)








Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
TextInputLayout | Element: apptentiveSurveySingleLineLayoutStyle _______________________________________________________________ https://material.io/components/text-fields/android#outlined-text-field
boxStrokeColor file: apptentive_mtrl_outlined_stroke_color.xml
android:textColorHint & hintTextColor file: apptentive_mtrl_text_box_text_color.xml
|
TextInputEditText | Element: apptentiveSurveyOtherTextFieldEditTextStyle _______________________________________________________________
android:textCursorDrawable file: apptentive_mtrl_text_cursor.xml
|
Range Question Types (Range & NPS)








Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Range Widget | Element: apptentiveSurveySingleLineLayoutStyle _______________________________________________________________ https://material.io/components/sliders/android
haloColor file: apptentive_mtrl_slider_halo_color.xml
thumbColor file: apptentive_mtrl_slider_thumb_color.xml
tickColorActive file: tickColorActive.xml
tickColorInactive file: apptentive_mtrl_slider_inactive_tick_marks_color.xml
trackColorActive file: apptentive_mtrl_slider_active_track_color.xml
trackColorInactive file: apptentive_mtrl_slider_inactive_track_color.xml
|
Range Labels (Note that the “max range caption label” has android:textAlignment="viewEnd" hard coded into it) | Element: apptentiveSurveyRangeLabelStyle _______________________________________________________________
|
Submit Button and Bottom Bar




Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Submit Button | Element: apptentiveSurveySubmitButtonStyle _______________________________________________________________ https://material.io/components/buttons/android#contained-button
|
Submit Error (Only shows when there is an error with at least one question & after clicking submit) | Element: apptentiveSurveySubmitErrorStyle _______________________________________________________________
|
Bottom Bar | Element: apptentiveSurveyBottomAppBarStyle _______________________________________________________________
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Footnote Text NOTE: Appears below Submit Button & Submit Error | Element: apptentiveSurveyFootnoteStyle _______________________________________________________________
|
Terms and Conditions (in Bottom Bar) NOTE: This will be set through the dashboard. Currently will not show | Element: apptentiveSurveyTermsAndConditionsStyle _______________________________________________________________
|
Close Survey Dialog


Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Background | Element: apptentiveGenericDialogLayoutStyle _______________________________________________________________
|
Title | Element: apptentiveGenericDialogTitleTextStyle _______________________________________________________________
|
Message | Element: apptentiveGenericDialogMessageTextStyle _______________________________________________________________
|
Button Layout | Element: apptentiveGenericDialogButtonLayoutStyle _______________________________________________________________
|
Positive Button (CANCEL) | Element: apptentiveGenericDialogPositiveButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Negative Button (CLOSE) | Element: apptentiveGenericDialogNegativeButtonStyle _______________________________________________________________
backgroundTint file: apptentive_mtrl_btn_text_btn_bg_color_selector.xml
rippleColor file: apptentive_mtrl_btn_ripple_color.xml
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Header Image | Element: apptentiveGenericDialogHeaderImageStyle _______________________________________________________________
|
Image before Title Text | Element: apptentiveGenericDialogHeaderImageStyle _______________________________________________________________
|
Message Center
Available Styles
Taken from apptentive-kit-android/apptentive-attrs.xml
<!-- Layouts -->
<attr name="apptentiveMessageCenterLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentPreviewLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterProfileLayoutStyle" format="reference"/>
<!-- App Bars -->
<attr name="apptentiveMessageCenterToolbarStyle" format="reference"/>
<attr name="apptentiveMessageCenterToolbarTitleStyle" format="reference"/>
<attr name="apptentiveMessageCenterProfileToolbarStyle" format="reference"/>
<attr name="apptentiveMessageCenterProfileToolbarTitleStyle" format="reference"/>
<attr name="apptentiveActionButtonStyle" format="reference" />
<!-- Widgets -->
<attr name="apptentiveMessageCenterAttachmentImageStyle" format="reference"/>
<attr name="apptentiveMessageCenterComposerStyle" format="reference"/>
<attr name="apptentiveMessageCenterSendImageStyle" format="reference"/>
<attr name="apptentiveMessageCenterComposerViewStyle" format="reference"/>
<attr name="apptentiveMessageCenterViewSeparatorStyle" format="reference"/>
<attr name="apptentiveMessageCenterGreetingImageStyle" format="reference"/>
<attr name="apptentiveMessageCenterGreetingTitleTextStyle" format="reference" />
<attr name="apptentiveMessageCenterGreetingBodyTextStyle" format="reference"/>
<attr name="apptentiveMessageCenterSLAText" format="reference"/>
<attr name="apptentiveMessageCenterBubbleView" format="reference"/>
<attr name="apptentiveMessageCenterGroupTimeStamp" format="reference"/>
<attr name="apptentiveMessageCenterOutboundBubble" format="reference"/>
<attr name="apptentiveMessageCenterProfileSubmitButtonStyle" format="reference"/>
<attr name="apptentiveMessageCenterProfileViewStyle" format="reference"/>
<attr name="apptentiveMessageCenterInboundBubble" format="reference"/>
<attr name="apptentiveMessageCenterInboundBubbleText" format="reference"/>
<attr name="apptentiveMessageCenterInboundBubbleStatusText" format="reference"/>
<attr name="apptentiveMessageCenterInboundBubbleErrorText" format="reference"/>
<attr name="apptentiveMessageCenterOutboundBubbleText" format="reference"/>
<attr name="apptentiveMessageCenterOutboundBubbleStatusText" format="reference"/>
<attr name="apptentiveMessageCenterSingleLineLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterSingleLineEditTextStyle" format="reference"/>
<attr name="apptentiveMessageCenterErrorStyle" format="reference"/>
<attr name="apptentiveMessageCenterComposerAttachmentsLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterBubbleAttachmentsLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentItemLayoutStyle" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentThumbnailStyle" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentThumbnailTypeTextStyle" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentThumbnailTypeIconStyle" format="reference"/>
<attr name="apptentiveMessageCenterPreviewAttachmentText" format="reference"/>
<attr name="apptentiveMessageCenterPreviewAttachmentImage" format="reference"/>
<attr name="apptentiveMessageCenterRemoveAttachmentText" format="reference"/>
<attr name="apptentiveMessageCenterRemoveAttachmentImage" format="reference"/>
<attr name="apptentiveMessageCenterAttachmentProgressIndicator" format="reference"/>
<attr name="apptentiveMessageCenterMessageListLayoutStyle" format="reference"/>
<!-- Text Color/Fill color -->
<attr name="apptentiveMessageCenterTextColorToolbarTitle" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorGreetingTitle" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorGreetingBody" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorEditBody1" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorInbound" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorOutbound" format="color|reference"/>
<attr name="apptentiveMessageCenterBubbleColorOutbound" format="color|reference"/>
<attr name="apptentiveMessageCenterBubbleColorInbound" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorSLA" format="color|reference"/>
<attr name="apptentiveMessageCenterColorError" format="color|reference"/>
<attr name="apptentiveMessageCenterTextColorGroupTimeStamp" format="color|reference"/>
<attr name="apptentiveMessageCenterColorDefaultAvatar" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorSendIconBackground" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorSendIcon" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorAttachmentIconBackground" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorAttachmentIcon" format="color|reference"/>
<attr name="apptentiveMessageCenterColorComposerOutline" format="color|reference"/>
<attr name="apptentiveMessageCenterColorSendIcon" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorBackIcon" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorIconDocument" format="color|reference"/>
<attr name="apptentiveMessageCenterStrokeColorIconDocument" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorIconDownload" format="color|reference"/>
<attr name="apptentiveMessageCenterStrokeColorIconDownload" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorIconPreview" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorIcon" format="color|reference"/>
<attr name="apptentiveMessageCenterFillColorIconRemove" format="color|reference"/>
<attr name="apptentiveMessageCenterColorBackgroundAttachment" format="color|reference"/>
<attr name="apptentiveMessageCenterInboundTextColorLink" format="color|reference"/>
<attr name="apptentiveMessageCenterGreetingTextColorLink" format="color|reference"/>
<attr name="apptentiveMessageCenterOutboundTextColorLink" format="color|reference"/>
<!-- Other -->
<attr name="apptentiveMessageCenterAttachmentThumbnailSpacing" format="dimension"/>
<attr name="apptentiveMessageCenterAttachmentThumbnailWidth" format="dimension"/>
<attr name="apptentiveMessageCenterAttachmentThumbnailHeight" format="dimension"/>
<attr name="apptentiveMessageCenterSenderNameText" format="dimension"/>
<!-- Typeface -->
<attr name="apptentiveMessageCenterTypefaceGreetingTitle" format="integer|reference"/>
<attr name="apptentiveMessageCenterTypefaceGreetingBody" format="integer|reference"/>
<attr name="apptentiveMessageCenterTypefaceBody1" format="integer|reference"/>
<attr name="apptentiveMessageCenterTypefaceButtonColored" format="integer|reference"/>
<!-- Font family -->
<attr name="apptentiveMessageCenterFontFamilyBody1" format="reference"/>
<!-- Text Size -->
<attr name="apptentiveMessageCenterTextSizeGreetingTitle" format="dimension|reference"/>
<attr name="apptentiveMessageCenterTextSizeGreetingBody" format="dimension|reference"/>
<attr name="apptentiveMessageCenterTextSizeBody1" format="dimension|reference"/>
<attr name="apptentiveMessageCenterTextSizeSLABody" format="dimension|reference"/>
Toolbar, Greeting, Name & Email
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Toolbar | Element: apptentiveMessageCenterToolbarStyle _______________________________________________________________
|
Toolbar title text | Element: apptentiveMessageCenterToolbarTitleStyle _______________________________________________________________
|
Greeting Icon This is taken from the avatar set in your dashboard. | Element: apptentiveMessageCenterGreetingImageStyle _______________________________________________________________
|
Greeting Title | Element: apptentiveMessageCenterGreetingTitleTextStyle _______________________________________________________________
|
Greeting Message | Element: apptentiveMessageCenterGreetingBodyTextStyle _______________________________________________________________
|
“Name” field and “Email” field (share styles) | Elements: apptentiveMessageCenterSingleLineLayoutStyle & apptentiveMessageCenterSingleLineEditTextStyle _______________________________________________________________
boxStrokeColor file: apptentive_mtrl_outlined_stroke_color.xml
hintTextColor & android:textColorHint file: apptentive_mtrl_text_box_text_color.xml
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
General Layout | Element: apptentiveMessageCenterLayoutStyle _______________________________________________________________
|
Compose & Footer Section
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Separator (between messages and compose sections) | Element: apptentiveMessageCenterViewSeparatorStyle _______________________________________________________________
|
Attachment button | Element: apptentiveMessageCenterAttachmentImageStyle _______________________________________________________________
|
Composer EditText | Element: apptentiveMessageCenterComposerStyle _______________________________________________________________
android:textColorHint & hintTextColor file: apptentive_mtrl_text_box_text_color.xml
android:textCursorDrawable file: apptentive_mtrl_text_cursor.xml
android:background file: apptentive_ic_compose_edit_text_border.xml
|
Send button | Element: apptentiveMessageCenterSendImageStyle _______________________________________________________________
|
Composer error text | Element: apptentiveMessageCenterErrorStyle _______________________________________________________________
|
Messages (Inbound and Outbound)


Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Message layout (for both inbound & outbound) | Element: apptentiveMessageCenterBubbleView _______________________________________________________________
|
Group timestamp | Element: apptentiveMessageCenterGroupTimeStamp _______________________________________________________________
|
Incoming message bubble layout (gray bubble) | Element: apptentiveMessageCenterOutboundBubble _______________________________________________________________
android:background file apptentive_ic_outbound_bubble.xml
|
Incoming sender name text (gray bubble) | Element: apptentiveMessageCenterInboundBubbleText _______________________________________________________________
|
Incoming message text (gray bubble) | Element: apptentiveMessageCenterOutboundBubbleText _______________________________________________________________
|
Incoming message status text (gray bubble) | Element: apptentiveMessageCenterOutboundBubbleStatusText _______________________________________________________________
|
Outgoing message bubble layout (blue bubble) | Element: apptentiveMessageCenterInboundBubble _______________________________________________________________
android:background file apptentive_ic_inbound_bubble.xml
|
Outgoing message text (blue bubble) | Element: apptentiveMessageCenterInboundBubbleText _______________________________________________________________
|
Outgoing message status text (blue bubble) | Element: apptentiveMessageCenterInboundBubbleStatusText _______________________________________________________________
|
Outgoing message error text (for blue bubble) | Element: apptentiveMessageCenterInboundBubbleErrorText _______________________________________________________________
|
Attachments (Composer, Inbound, and Outbound Messages)
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Compose attachments layout | Element: apptentiveMessageCenterComposerAttachmentsLayoutStyle _______________________________________________________________
|
Message bubble attachments layout | Element: apptentiveMessageCenterBubbleAttachmentsLayoutStyle _______________________________________________________________
|
Attachment item | Element: apptentiveMessageCenterAttachmentItemLayoutStyle _______________________________________________________________
android:background file: apptentive_attachment_background.xml
|
Attachment thumbnail image | Element: apptentiveMessageCenterAttachmentThumbnailStyle _______________________________________________________________
|
Attachment download icon | Element: apptentiveMessageCenterAttachmentThumbnailTypeIconStyle _______________________________________________________________
|
Attachment thumbnail mime text | Element: apptentiveMessageCenterAttachmentThumbnailTypeTextStyle _______________________________________________________________
|
Attachment thumbnail progress indicator | Element: apptentiveMessageCenterAttachmentProgressIndicator _______________________________________________________________
|
Attachment Bottom Sheet Preview Text (displays after selecting a DRAFT attachment thumbnail) | Element: apptentiveMessageCenterPreviewAttachmentText _______________________________________________________________
|
Attachment Bottom Sheet Preview Image (displays after selecting a DRAFT attachment thumbnail) | Element: apptentiveMessageCenterPreviewAttachmentImage _______________________________________________________________
|
Attachment Bottom Sheet Remove Text (displays after selecting a DRAFT attachment thumbnail) | Element: apptentiveMessageCenterRemoveAttachmentText _______________________________________________________________
|
Attachment Bottom Sheet Remove Image (displays after selecting a DRAFT attachment thumbnail) | Element: apptentiveMessageCenterRemoveAttachmentImage _______________________________________________________________
|
Profile Screen
Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Toolbar | Element: apptentiveMessageCenterProfileToolbarStyle _______________________________________________________________
|
Toolbar title text | Element: apptentiveMessageCenterProfileToolbarTitleStyle _______________________________________________________________
|
Name and Email layout | Element: apptentiveMessageCenterProfileViewStyle _______________________________________________________________
|
“Name” field and “Email” field (share styles) | Elements: apptentiveMessageCenterSingleLineLayoutStyle & apptentiveMessageCenterSingleLineEditTextStyle _______________________________________________________________
boxStrokeColor file: apptentive_mtrl_outlined_stroke_color.xml
hintTextColor & android:textColorHint file: apptentive_mtrl_text_box_text_color.xml
|
Submit button | Element: apptentiveMessageCenterProfileSubmitButtonStyle _______________________________________________________________
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Profile screen layout | Element: apptentiveMessageCenterProfileLayoutStyle _______________________________________________________________
|
Attachment Image Preview Screen


Elements & Default Styling
Visual Element | Override Value and Apptentive Default Styling |
---|---|
Toolbar | Element: apptentiveMessageCenterToolbarStyle _______________________________________________________________
|
Toolbar title text | Element: apptentiveMessageCenterToolbarTitleStyle _______________________________________________________________
|
Extra Available Stylings
Visual Element | Override Value and Example Styling |
---|---|
Screen layout | Element: apptentiveMessageCenterAttachmentPreviewLayoutStyle _______________________________________________________________
|