ChannelListHeader class

It shows the current StreamChatClient status.

class MyApp extends StatelessWidget {
  final StreamChatClient client;

  MyApp(this.client);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: StreamChat(
        client: client,
        child: Scaffold(
            appBar: ChannelListHeader(),
          ),
        ),
    );
  }
}

Usually you would use this widget as an AppBar inside a Scaffold. However you can also use it as a normal widget.

The widget by default uses the inherited StreamChatClient to fetch information about the status. However you can also pass your own StreamChatClient if you don't have it in the widget tree.

The widget components render the ui based on the first ancestor of type StreamChatTheme and on its ChannelListHeaderThemeData property. Modify it to change the widget appearance.

Inheritance
Implemented types

Constructors

ChannelListHeader({Key? key, StreamChatClient? client, TitleBuilder? titleBuilder, dynamic onUserAvatarTap(User)?, VoidCallback? onNewChatButtonTap, bool showConnectionStateTile = false, VoidCallback? preNavigationCallback, Widget? subtitle, Widget? leading, List<Widget>? actions, Color? backgroundColor})
Instantiates a ChannelListHeader
const

Properties

actions List<Widget>?
AppBar actions By default it shows the new chat button
final
backgroundColor Color?
The background color for this ChannelListHeader.
final
client StreamChatClient?
Pass this if you don't have a StreamChatClient in your widget tree.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leading Widget?
Leading widget By default it shows the logged in user avatar
final
onNewChatButtonTap VoidCallback?
Callback to call when pressing the new chat button.
final
onUserAvatarTap → (dynamic Function(User)?)
Callback to call when pressing the user avatar button. By default it calls Scaffold.of(context).openDrawer()
final
preferredSize Size
The size this widget would prefer if it were otherwise unconstrained.
no setteroverride
preNavigationCallback VoidCallback?
Callback before navigation is performed
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showConnectionStateTile bool
Show connection state tile
final
subtitle Widget?
Subtitle widget
final
titleBuilder TitleBuilder?
Use this to build your own title as per different ConnectionStatus
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited