一个简易聊天窗口的制作

一、首先是UI界面的设计与制作
在这里插入图片描述
如上图所示是我设计的聊天背景与聊天视图,由于我们的聊天框是一张图片,它不可能跟着你的聊天字数内容长短而变化,这时我们需要对此进行处理,9-patchFile功能将图的四边进行拉处理在应用到聊天框就可以使此图片随着你的聊天内容增加而伸展,大大提高了美观的程度。
在这里插入图片描述
这是制作出的效果:
可以向任意方向做拉伸。具体的制作方法:将图片贴到drawable目录下保存成.jpg格式然后在图片名称上右击鼠标你就会看见Create 9-patch File这个复选框选中进行操作即可。
下面是我的Msg.xml的代码:
在这里插入图片描述
activity.xml的代码:
在这里插入图片描述
一个edittext输入框一个button发送按钮。
这就不用我自己赘述了吧,个人有个人的想法,设计属于你自己的聊同安界面布局吧。
二、java逻辑代码
这里建立了三个类文件,分别为:MsgAdapter、Msg、MainActivity。
Msg的代码如下:
在这里插入图片描述
Msg类中只有两个字段,content表示消息的内容,type表示消息的类型。其中消息类型有两个值可选,TYPE_RECEIVED表示收到消息,TYPE_SENT表示发出消息。
创建RecyclerView的适配器MsgAdapter代码:
在这里插入图片描述
onBindViewHolder(),对消息类型做出判断。
最后是MainActivity的代码:

在这里插入图片描述
initmsgs()方法中初始化几条用于RecyclerVIew中显示,发送按钮的点击事件获取Editext中的内容,如内容部位NULL则创建新的Msg对象,并把它添加到msgList列表中去。之后又调用notifyItemInserted()方法用于通知列表有新的数据插入。
至此就完成了…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要在ASP.NET平台上创建一个网页。然后,使用VBScript编写服务器端代码和客户端代码,实现简易聊天室的功能。 以下是一个简单的示例代码,仅供参考: 服务器端代码: ``` <%@ Language=VBScript %> <% ' 声明变量 Dim strMsg, strName, strContent Dim arrMsgs, i, j ' 获取表单数据 strName = Request.Form("name") strContent = Request.Form("content") ' 判断是否有数据提交 If strName <> "" And strContent <> "" Then ' 获取聊天记录 strMsg = Application("msgs") ' 添加新消息 strMsg = strMsg & "<br>" & strName & ":" & strContent ' 更新聊天记录 Application.Lock Application("msgs") = strMsg Application.UnLock End If ' 获取聊天记录 strMsg = Application("msgs") ' 分割聊天记录 arrMsgs = Split(strMsg, "<br>") ' 显示聊天记录 For i = UBound(arrMsgs) To 0 Step -1 Response.Write("<div>" & arrMsgs(i) & "</div>") Next %> ``` 客户端代码: ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>简易聊天室</title> </head> <body> <h1>简易聊天室</h1> <div id="msgs"></div> <form method="post" action=""> <p><input type="text" name="name" placeholder="请输入昵称"></p> <p><textarea name="content" placeholder="请输入聊天内容"></textarea></p> <p><input type="submit" value="发送"></p> </form> <script> // 每隔1秒刷新聊天记录 setInterval(function() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { document.getElementById("msgs").innerHTML = xhr.responseText; } }; xhr.open("GET", "msgs.asp", true); xhr.send(); }, 1000); </script> </body> </html> ``` 注意:以上代码仅为示例代码,实际使用中需要对代码进行安全性和稳定性的优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值