SuperAPI AI 工具集

cometchat-android-v6-compose-placement

编程与开发

查看项目

更新于 10-16 11:55

技能介绍

本技能说明如何在 Android 应用中把 CometChat Compose 组件放置到具体屏幕,模式参考 master-app-jetpack 示例。

用途

用于使用 Compose Navigation 设置 CometChat 屏幕、将 CometChat 组件放入 NavHost、在 Dialog 或 BottomSheet 中显示组件、以及构建包含会话、用户、群组、通话标签的选项卡布局。

不适用场景

涉及 Kotlin Views 放置时应使用 cometchat-android-v6-kotlin-placement;需要查询组件 API 时应使用 cometchat-android-v6-compose-components。

主要能力

  1. 基础 setContent 放置:在 ComponentActivity 的 setContent 中,用 CometChatTheme 包裹 CometChatConversations 等组件,并通过 onItemClick 处理导航。

  2. Compose Navigation:使用 rememberNavController 与 NavHost,定义 conversations、chat/{conversationId}、users、groups 等路由。在 chat 路由中通过 conversationId 解析用户或群组,组合 CometChatMessageHeader、CometChatMessageList 与 CometChatMessageComposer。

  3. 选项卡布局:用 TabRow 与 Tab 切换 Chats、Users、Groups、Calls,对应 CometChatConversations、CometChatUsers、CometChatGroups、CometChatCallLogs。

  4. Dialog 放置:通过 Dialog 与状态变量显示 CometChatMessageInformation。

  5. BottomSheet 放置:使用 ModalBottomSheet 与 rememberModalBottomSheetState 显示 CometChatReactionList。

  6. 通话 Activity 启动:进行中的通话使用独立 Activity,调用 CometChatOngoingCallActivity.launchOngoingCallActivity 并传入 activity、sessionId、通话类型、CallWorkFlow 等参数。

  7. 来电悬浮层:在 Application 中用 StateFlow 暴露来电,在根 Composable 中收集状态并显示 CometChatIncomingCall。

使用方式

提供的代码示例涉及 Compose 的 NavHost、TabRow、Dialog、ModalBottomSheet 以及 CometChat 组件的调用方式,具体参数与集成步骤以示例代码为准。

硬性规则

始终在最外层用 CometChatTheme {} 包裹 CometChat 组件,不要嵌套多个主题包装;CometChatTheme {} 应放在 NavHost 之外,使所有屏幕共享同一主题;进行中的通话必须使用 CometChatOngoingCallActivity,不能作为 Composable 屏幕;在屏幕之间传递 User/Group 对象时应使用缓存或解析器模式,不要在导航路由中序列化完整对象。

适用场景

适合需要在 Compose 应用中集成 CometChat 会话、用户、群组、通话等界面并管理其导航与容器的开发场景。

限制

除提供的示例、模式与硬性规则外,关于平台版本、收费、价格、性能效果等信息暂未提供。