ChannelAvatar(
channel = channel,
// The current logged in user
currentUser = currentUser,
// Reasonable avatar size
modifier = Modifier.size(36.dp)
)
ChannelAvatar
The ChannelAvatar allows you to display a channel avatar, that shows the channel image, or a grid of its active members.
Let’s see how to integrate the component into your code.
Usage
To use the component, simply pass the Channel object to the ChannelAvatar, like so:
Based on the state of the Channel and the number of members, it shows different types of images:
Handling Actions
The ChannelAvatar component exposes a single action to handle click events:
@Composable
fun ChannelAvatar(
..., // State
onClick: (() -> Unit)? = null,
)
If you want to handle clicks on ChannelAvatar, you can use the code below:
fun ChannelAvatar(
..., // State
) {
// Handle avatar clicks here
}
Customization
In terms of UI customization, the ChannelAvatar exposes the following properties:
@Composable
fun ChannelAvatar(
channel: Channel,
currentUser: User?,
modifier: Modifier = Modifier,
shape: Shape = ChatTheme.shapes.avatar,
textStyle: TextStyle = ChatTheme.typography.title3Bold,
groupAvatarTextStyle: TextStyle = ChatTheme.typography.captionBold,
showOnlineIndicator: Boolean = true,
onlineIndicatorAlignment: OnlineIndicatorAlignment = OnlineIndicatorAlignment.TopEnd,
onlineIndicator: @Composable BoxScope.() -> Unit = {
OnlineIndicator(modifier = Modifier.align(onlineIndicatorAlignment.alignment))
},
contentDescription: String? = null,
... // Action handlers
)
channel: The channel whose data we need to show.currentUser: The current user, used to determine avatar data.modifier: Modifier for the root component. Useful for things like the component size, padding, background and similar.shape: The shape of the avatar.textStyle: The text style of the initials text.groupAvatarTextStyle: The text style of the initials text in the group avatar.showOnlineIndicator: If we show online indicator or not.onlineIndicatorAlignment: The alignment of online indicator.onlineIndicator: Custom composable that allows replacing the default online indicator.contentDescription: The content description of the avatar.
Here’s an example of customizing the UI of the channel avatar:
ChannelAvatar(
channel = channel,
currentUser = currentUser,
modifier = Modifier.size(48.dp),
shape = RoundedCornerShape(8.dp)
)
The sample above will produce a custom channel avatar with rounded corners:

