站点图标 江湖人士

Xamarin.Forms使用ChatKit快速搭建Android真机聊天界面

Xamarin.Forms Android真机使用ChatKit快速搭建即时聊天界面,以前在做Xamarin.Android项目时,因为对Android的界面描述方案(Layout.xml)并不熟悉,而又想尽快的搭起IM的界面(仿微信、仿QQ等),在开源社区找方案最适合不过了。

Xamarin.Forms使用ChatKit

效果视频:

https://img.hotbests.com/2020/08/xamarin-ChatKit.mp4

教程:

1.Xamarin项目Android端安装安卓nuget包

Install-Package XamarinLibrary.Xamarin.Android.ChatKit -Version 0.3.3

2.参考原作者Android原生源码用法对照调用C#相应函数;

3.在Xamarin方面将ChatKit相关控件使用Renderer方案在Xamarin.Forms显示;

4.涉及Xamarin.Forms、Xamarin.Android的layout.xml以及Renderer的使用时,可以参考源码示例的代码进行相应处理。(涉及Android的Inflate函数相关知识)

其他资料:

Xamarin.Forms 演示ChatKit的Sample的源码:

https://github.com/jingliancui/XamarinFormsChatKitSample

原生Android的ChatKit源码:

https://github.com/stfalcon-studio/ChatKit

原生Android的ChatKit的使用方法:

DialogsList(对话列表控件):

https://github.com/stfalcon-studio/ChatKit/blob/master/docs/COMPONENT_DIALOGS_LIST.MD

MessagesList(消息列表控件):

https://github.com/stfalcon-studio/ChatKit/blob/master/docs/COMPONENT_MESSAGES_LIST.md

MessageInput(消息发送控件):

https://github.com/stfalcon-studio/ChatKit/blob/master/docs/COMPONENT_MESSAGE_INPUT.MD

微软官方Renderer教程示例:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/video-player/

后话:

以前在做Xamarin.Android项目时,因为对Android的界面描述方案(Layout.xml)并不熟悉,而又想尽快的搭起IM的界面(仿微信、仿QQ等),在开源社区找方案最适合不过了。

不过到了forms的话,除了使用renderer的方案,我们也可以使用xaml界面描述方案写出IM的界面了。

如果对本示例使用的nuget包有疑问,请参考文章转换ChatKit为Xamarin.Android绑定库0.3.3,也可以在公众号留言或者Github发起相关issue与我进行相关技术交流。

转换ChatKit为Xamarin.Android绑定库0.3.3

已经可以使用的库:

Android 0.3.3 nuget:

Install-Package XamarinLibrary.Xamarin.Android.ChatKit -Version 0.3.3

Github开源库(Apache License 2.0):

https://github.com/jingliancui/XamarinAndroidChatKit

Android源码

https://github.com/stfalcon-studio/ChatKit

Features

快速实现聊天界面实现的开箱即用的解决方案;

可以使用默认或者自定义的媒体信息;

完全支持自定义布局-支持设置多种风格(使用你自己的颜色、字体、图片、选择器和大小)或者为了达到独特的行为创建你自己的自定义markup与holder;

对话列表,包括tete-a-tete和群聊、未读消息标记和最后用户消息view;

具有历史分页和已计算日期headers的消息列表(发送和接收);

没有具体的图像加载实现-你可以使用任何你想用的库进行加载(当然xamairn和.net standard的库也可以了);

与消息交互的selection mode;

高亮link;

简单的设置时间格式显示方式;

自定义的对话数据模型与消息数据模型;

开箱即用的发送组件(含输入框与发送消息按钮);

自定义的动画(通过使用RecyclerView)。

通过使用库中的以下组件就可以实现以上列出的特性:

DialogsList

MessagesList

MessageInput

后话

以前做xamarin.android的项目的时候,在做IM功能的时候,因为没有UI设计师的界面设计,所以就找到了这个库,只要根据它的文档进行相关的界面设计,让整体风格融入产品风格中。代码方面也设计的十分灵活,只要设置好我们的数据模型(根据他的接口规范实现)就可以直接用了。

转载文章,原文链接:https://mp.weixin.qq.com/s?__biz=MjM5MTc4MDM1MQ==&mid=2651731493&idx=1&sn=192d43665fb238207b142afc3226be5e

退出移动版