AI Integration Quick Reference
AI Integration Quick Reference
| Field | Value |
|---|---|
| Kotlin XML Views | Override XML styles extending CometChatIncomingMessageBubbleStyle / CometChatOutgoingMessageBubbleStyle in themes.xml |
| Jetpack Compose | Pass CometChatMessageListStyle.default().copy() with nested bubble styles to CometChatMessageList |
| Hub styles | Incoming and Outgoing bubble styles act as central hubs for per-type bubble customization |
| Per-type styles | Text, Image, Audio, Video, File, Sticker, Poll, Collaborative, Meet Call, Delete, Action, Call Action |
| Related | Theme Introduction · Component Styling · Message List |
Styling Architecture
Message bubbles follow a hub-and-spoke pattern:- Hub styles —
IncomingMessageBubbleStyleandOutgoingMessageBubbleStylecontrol the base bubble appearance - Per-type styles — Text, Image, Audio, etc. are nested inside the hub styles

Global Setup
- Kotlin (XML Views)
- Jetpack Compose
themes.xml


Core Message Bubbles
Text Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Image Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Audio Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Video Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
File Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Sticker Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Poll Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Collaborative Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Meet Call Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Delete Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
List-Level Bubbles
These bubbles are tied to the Message List style, not the Incoming/Outgoing hubs.Call Action Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml
Action Bubble

- Kotlin (XML Views)
- Jetpack Compose
themes.xml