Theming

How theming works since SDK 4.7.0

Since SDK 4.7.0 the Feed is a Web Feed rendered by Pulsate. Its look — colors, fonts, layout — is configured on the Pulsate side and in the campaign builder (button and text colors per Feed Post), not in your app. This means feed theme changes no longer require app releases.

What remains themeable inside the app are the in-app notifications (small banner + full-screen popup), via colors.xml overrides.

In-app notification colors

Override any of these in your app's res/values/colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Small in-app (banner) -->
    <color name="pulsate_small_in_app_message_background_color">#EEEEEE</color>
    <color name="pulsate_small_in_app_message_text_color">#000000</color>

    <!-- Big in-app (full-screen popup) -->
    <color name="pulsate_big_in_app_message_background_color">#FFFFFF</color>
    <color name="pulsate_big_in_app_message_text_color">#000000</color>
    <color name="pulsate_big_in_app_left_button_color">#0d7aff</color>
    <color name="pulsate_big_in_app_left_button_text_color">#FFFFFF</color>
    <color name="pulsate_big_in_app_right_button_color">#0d7aff</color>
    <color name="pulsate_big_in_app_right_button_text_color">#FFFFFF</color>
    <color name="pulsate_big_in_app_single_button_color">#0d7aff</color>
    <color name="pulsate_big_in_app_single_button_text_color">#FFFFFF</color>

    <!-- Location permission popup -->
    <color name="pulsate_big_in_app_location_text_color">#8a000000</color>
    <color name="pulsate_big_in_app_location_opt_in_btn_background">#0d7aff</color>
    <color name="pulsate_big_in_app_location_not_now_btn_background">#FFFFFF</color>
    <color name="pulsate_big_in_app_location_opt_in_text_color">#FFFFFF</color>
    <color name="pulsate_big_in_app_location_not_now_text_color">#BBBBBB</color>
    <color name="pulsate_big_in_app_location_opt_in_ripple">#BBBBBB</color>
    <color name="pulsate_big_in_app_location_not_now_ripple">#BBBBBB</color>
</resources>

Legacy theming (SDK ≤ 4.6.x only)

Older SDKs rendered the Feed natively and exposed ~50 pulsate_* color resources (toolbar, cards, buttons, empty states…), a pulsate_toolbar_title_size dimen, and a PulsateInboxTheme style override for custom fonts. None of these have any effect on SDK 4.7.0+.

If you are still on ≤ 4.6.x, consult the archived legacy theming page — and plan the upgrade, since new features only land in the Web Feed.