Skip to content
密信 IM · 开发文档

主题与品牌样式 ​

优先使用公开主题参数调整品牌色、表面颜色、文字、气泡和圆角。需要少量变化时不必复制整个聊天页面,这样可以保留默认消息状态、媒体回收和键盘交互。

Flutter:设置明暗主题 ​

MixinImThemeData 分别提供浅色与深色参数。以下配置使用密信蓝作为发送气泡,接收气泡随主题变化:

dart
import 'package:flutter/material.dart';
import 'package:mixinim_uikit/mixinim_uikit.dart';

const brandTheme = MixinImThemeData(
  primaryColor: Color(0xFF1677FF),
  darkPrimaryColor: Color(0xFF5C9DFF),
  sentBubbleColor: Color(0xFF1677FF),
  darkSentBubbleColor: Color(0xFF1677FF),
  receivedBubbleColor: Color(0xFFFFFFFF),
  darkReceivedBubbleColor: Color(0xFF26272C),
  receivedBubbleBorderColor: Color(0xFFE5E6EB),
  darkReceivedBubbleBorderColor: Color(0xFF36383E),
  bubbleRadius: 12,
  themeMode: ThemeMode.system,
);

const uiConfig = MixinImUIKitConfig(theme: brandTheme);

将 uiConfig 传给 MixinImChatPage.sdk(...);独立列表接收相同 theme。宿主如果提供手动明暗切换,应将应用偏好同步到 UIKit,而不是只改变外层 Scaffold 的背景。

对单类消息做局部调整 ​

消息样式解析器可以按类型、方向或群聊场景返回局部覆盖。下面片段假设 sdk 与 conversation 已就绪,仅调整文字消息圆角:

dart
final chat = MixinImChatPage.sdk(
  sdk: sdk,
  conversation: conversation,
  config: uiConfig,
  messageStyleResolver: (context, target) {
    if (target.message.contentType != 'txt') return null;
    return const MixinImMessageStyle(
      borderRadius: BorderRadius.all(Radius.circular(10)),
    );
  },
);

返回 null 保留默认样式;覆盖对象未填写的字段继续使用原值。该入口只影响视觉,不修改消息权限、发送状态或媒体行为。

主题、头像与整块替换的区别 ​

需求优先使用
全应用品牌色、背景、文字与气泡MixinImThemeData
特定消息的背景、描边、圆角、宽度或元数据messageStyleResolver
圆形/方形头像、边框、挂件、昵称样式userDecorationResolver 与头像样式配置
包裹已构建的消息内容Flutter 的 messageBubbleBuilder
完全不同的会话行itemBuilder 等平台公开入口

整行替换后,宿主需要自行实现该行的头像、文案、点击和可访问性;它仍应使用 SDK 提供的公开快照。

跨平台品牌统一 ​

Android/iOS 原生 UIKit 提供对应主题、头像与消息样式接入点,具体类型与参数按该平台 API 使用。Web、uni-app 与微信按组件的主题配置完成对应视觉,不能把 Flutter 的 Dart 对象直接传入。

各端沿用统一品牌规范与操作语义,系统选择器、权限弹窗和键盘保持对应平台的原生呈现。

调整后检查什么 ​

分别检查浅色/深色、发送/接收、群昵称、引用、撤回、失败、置顶与长消息的展示,兼顾文字对比、点击范围、放大字体、键盘和系统安全区。

下一步:消息与交互扩展 · 嵌入 UIKit

开始构建你的通讯体验

获取授权包、完整接口资料与接入支持。

LET’S BUILD TOGETHER

聊聊你的通讯需求

联系密信团队,获取 SDK 授权、接入资料与私有化方案。

咨询内容:
客服微信mixinim
客服 QQ629900
联系邮箱mixinim@126.com

SDK 与源码按授权范围交付。此处不提供公开下载。