设置界面风格
更新时间: 2025/11/18 16:11:54
本文档详细介绍如何对网易云信 Android UIKit 进行全局配置,包括语言切换与主题风格设置,帮助您打造符合产品需求的即时通讯界面。
语言切换
UIKit 支持多语言切换功能,可根据您的应用需求切换界面显示语言。Android 端通过设置 Activity 和 Application 的 context 实现语言自主切换。
支持的语言
- 中文:
Locale.CHINA - 英文:
Locale.ENGLISH - 其他:可通过添加其他的语言资源支持(如 values-es 等)
在 Application 的 OnCreate 回调中设置语言。切换语言时进行持久化设置,并发出通知。在其他页面中会接收到语言切换的通知,建议通过 recreate() 方法重建当前 Activity,以确保所有界面元素正确应用新语言设置。
-
方法原型:
Java
AppLanguageConfig.getInstance().setAppLanguage(IMKitClient.getApplicationContext(), currentLanguage); -
示例代码:
JavaString localeStr = AppLanguageConfig.getInstance().getAppLanguage(this); IMKitClient.init(this, options, new Locale(localeStr)); AppLanguageConfig.getInstance() .setAppLanguage(IMKitClient.getApplicationContext(), currentLanguage); EventCenter.notifyEvent(new MultiLanguageUtils.LangEvent()); //语言变更事件,切换语言后重新加载页面 EventNotify<MultiLanguageUtils.LangEvent> langeNotify = new EventNotify<MultiLanguageUtils.LangEvent>() { @Override public void onNotify(@NonNull MultiLanguageUtils.LangEvent message) { recreate(); } @NonNull @Override public String getEventType() { return "langEvent"; } };
-
效果预览:
中文 切换后(英文) 

主题切换
网易云信 IM UIKit 提供两套风格的 UI 组件库,您可以根据产品设计需求切换合适的主题风格。
支持的主题
- 协同版 UI(normal):默认主题风格,适合企业协作场景。
- 通用版 UI(fun):更适合社交娱乐场景的主题风格。
在路由跳转时注册对应主题的路由,实现主题的切换。
-
方法原型:
Javapublic static void setTheme(Context context, @YunxinUIKit.Theme int theme) -
示例代码:
Javapublic ChatService create(@NonNull Context context) {
// 协同版路由,如果使用通用版本则删除该部分。
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_P2P_PAGE, ChatP2PActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_TEAM_PAGE, ChatTeamActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_SEARCH_PAGE, ChatSearchActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_LOCATION_PAGE, LocationPageActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_PIN_PAGE, ChatPinActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_SETTING_PAGE, ChatSettingActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_ACK_PAGE, ChatReaderActivity.class);
//协同版路由结束
// 通用版路由,如果使用协同版本则删除该部分。
XKitRouter.registerRouter(RouterConstant.PATH_FUN_CHAT_P2P_PAGE, FunChatP2PActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE, FunChatTeamActivity.class);
XKitRouter.registerRouter(
RouterConstant.PATH_FUN_CHAT_SEARCH_PAGE, FunChatSearchActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_CHAT_LOCATION_PAGE, LocationPageActivity.class);
XKitRouter.registerRouter(RouterConstant.PATH_FUN_CHAT_PIN_PAGE, FunChatPinActivity.class);
XKitRouter.registerRouter(
RouterConstant.PATH_FUN_CHAT_READER_PAGE, FunChatReaderActivity.class);
XKitRouter.registerRouter(
RouterConstant.PATH_FUN_CHAT_SETTING_PAGE, FunChatSettingActivity.class);
//通用版路由结束
//以下内容不可删除
chatKitInit(context);
registerSendTeamTips();
registerAitNotifyTrigger();
registerSendText();
IMKitClient.registerInitService(new ChatUIInitService());
return this;
}
-
效果预览:
通用版 切换后(协同版) 

此文档是否对你有帮助?





