Chat Options

ChatOption controls the appearance of livestream chat messages. It allows customization of chat text styling including color and shadow effects.

Overview

ChatOption provides styling for chat messages that appear during livestreams. It allows you to customize:

  • Chat text color

  • Text shadow effects (color, offset, radius)

Creating ChatOption

Using Builder

val chatOption = ChatOption.Builder()
    .chatStyle(
        ChatStyle(
            textColor = Color.WHITE,
            textShadow = TextShadow(
                color = Color.BLACK,
                offsetX = 1f,
                offsetY = 1f,
                radius = 2f
            )
        )
    )
    .build()
val viewOptions = viewOptions {
    chatOptions {
        chatStyle(
            ChatStyle(
                textColor = Color.WHITE,
                textShadow = TextShadow(
                    color = Color.parseColor("#66000000"),
                    offsetX = 0f,
                    offsetY = 0.5f,
                    radius = 7f
                )
            )
        )
    }
}

Properties

chatStyle

Type: ChatStyle Default: White text with default shadow

Configures the visual appearance of chat text.

chatOptions {
    chatStyle(
        ChatStyle(
            textColor = Color.WHITE,
            textShadow = TextShadow(
                color = Color.BLACK,
                offsetX = 1f,
                offsetY = 1f,
                radius = 2f
            )
        )
    )
}

ChatStyle Properties

textColor

Type: Int (color) Default: White (Color.WHITE)

Color of the chat message text.

ChatStyle(
    textColor = Color.WHITE
)

textShadow

Type: TextShadow Default: Semi-transparent black shadow with default offsets

Shadow effect applied to chat text for better readability.

ChatStyle(
    textShadow = TextShadow(
        color = Color.parseColor("#66000000"),
        offsetX = 0f,
        offsetY = 0.5f,
        radius = 7f
    )
)

TextShadow Properties

color

Type: Int (color) Default: Semi-transparent black (#66000000)

Color of the text shadow. Use semi-transparent colors for subtle effects.

TextShadow(
    color = Color.parseColor("#80000000") // 50% black
)

offsetX

Type: Float Default: 0f

Horizontal offset of the shadow in pixels. Positive values shift right, negative shift left.

TextShadow(
    offsetX = 2f // Shift shadow 2px to the right
)

offsetY

Type: Float Default: 0.5f

Vertical offset of the shadow in pixels. Positive values shift down, negative shift up.

TextShadow(
    offsetY = 2f // Shift shadow 2px down
)

radius

Type: Float Default: 7f

Blur radius of the shadow. Larger values create softer shadows.

TextShadow(
    radius = 10f // Softer, more blurred shadow
)

Default Values

Property
Default Value

textColor

Color.WHITE

TextShadow.color

#66000000 (semi-transparent black)

TextShadow.offsetX

0f

TextShadow.offsetY

0.5f

TextShadow.radius

7f

Complete Examples

Default Chat Style

val viewOptions = viewOptions {
    chatOptions {
        chatStyle(
            ChatStyle(
                textColor = Color.WHITE,
                textShadow = TextShadow(
                    color = Color.parseColor("#66000000"),
                    offsetX = 0f,
                    offsetY = 0.5f,
                    radius = 7f
                )
            )
        )
    }
}

No Shadow (Clean Look)

val viewOptions = viewOptions {
    chatOptions {
        chatStyle(
            ChatStyle(
                textColor = Color.WHITE,
                textShadow = null // No shadow
            )
        )
    }
}

Important Notes

  • Chat styling only applies to livestream content

  • Chat messages are not available in compact mode for StoryBlock

  • Shadow effects improve text readability over video backgrounds

  • Use semi-transparent shadow colors for natural appearance

  • Large shadow radius values may impact performance

  • Text color should contrast with typical video content

  • Consider accessibility when choosing colors

  • Chat styling is applied globally to all livestream chat in the app

See Also

Last updated