微信小程序实现仿微信聊天界面(各种细节处理)

微信聊天小程序——(四、聊天页面) 我们拿到了与好友聊天的聊天记录。主要作用的是这个函数。具体效果:不显示错误。在massage页面。 阅读详情
AI摘要

本文介绍了解决聊天应用中软键盘弹出遮挡聊天内容的问题,通过调整输入框位置和自动滚动聊天记录,确保用户在输入时仍能看到聊天历史。

下面先来看看效果

在这里插入图片描述

为实现这样的效果,首先要解决两个问题:

1.点击输入框弹出软键盘后,将已有的少许聊天内容弹出,导致看不到的问题;
2.键盘弹出或收起时,聊天消息没有自动滚到最底部。

首先解决第二个问题,自动滚动到最底部,这很简单,这里提供三种方法(推荐第三种):
1.计算每条消息的最大高度,设置scroll-top=(单条msg最大高度 * msg条数)px。

2.用 将展示msg的目标scroll-view包裹,
通过js获取到该view的实际高度:

var that = this;
var query = wx.createSelectorQuery();
query.select('.scrollMsg').boundingClientRect(function(rect) {
	that.setData({
		scrollTop: rect.height+'px';
	});
}).exec();

3.(推荐)将所有msg都编号如:msg-0,msg-1,msg-2… 直接锁定最后一条msg,滚动到那里。
在scroll-view中添加:scroll-into-view='{ {toView}}',
在wx:for后面添加:wx:for-index="index",
在每个msg布局中添加:id='msg-{ {index}}',
最后直接:

this.setData({
	toView: 'msg-' + (msgList.length - 1)
})

到这里第二个问题解决了,那么我们回过来解决第一个问题:

(点击输入框弹出软键盘后,将已有的少许聊天内容弹出,导致看不到的问题)
1.首先我们需要将input的自动向上推给关掉,这里有个坑:

在input组件中添加:adjust-position='{ {false}}',
而不是:adjust-position='false'。
这么做虽然不再向上推,但却导致了软键盘弹起时,会遮挡屏幕下部分的消息。

2.如何解决软键盘弹起时,会遮挡屏幕下部分的消息?</
java 简单仿微信聊天(springboot) 采用springboot netty 简单模仿微信聊天界面和功能。 系统模块:包括手机app端,后台服务端 技术架构: 手机app:Html5+,开发工具HBuilderX 后台服务:springboot + netty + mybatis ,开发工具IDEA 实现功能:用户注册、登录、用户主页(头像展示上传下载、昵称、账号、个人二维码生成展现、退出登录)、发现页面(朋友圈、添加好友、扫...... 阅读详情

相关推荐

微信小程序仿微信聊天

主要思想使用websocket,微信小程序有提供websocket的直接方法,所有问题的难点在于后端代码的编写。 效果示意图 演示视频地址https://www.bilibili.com/video/av57449552/ 长话短说直接上代码 微信小程序端代码 <!--pages/chat/chat.wxml--> <!--显示咨询医生---> <v...

lois_wjj的博客 3955

小程序制作仿微信聊天的细节处理

记录做的一次仿聊天的小程序碰到的一些细节 问题: 1.键盘输入框随内容自动增高 2.每次发完消息屏幕在发出消息的最底部(以及上拉在最上面) 3.键盘弹起不盖住屏幕内容 解决: 一、解决输入框内容的自动增高 如上图一样输入内容变多之后自动换行,而且限制高度(高度我们用max-height限制就好了) 那么我们来看看我们怎么让内容自动换行吧。 input 我们都知道输入...

fortune丶的blog 3399

微信小程序仿微信聊天界面开发实战(支持表情、视频、图片发送)

在聊天应用中,支持动态加载表情库是一个提升用户体验的重要功能。传统方式是将所有表情资源打包进小程序,但这种方式会增加包体积,影响加载速度。更高效的做法是通过接口动态获取表情库数据,并在运行时按需加载。实现思路如下:后端提供表情包管理接口,返回表情列表(包含表情标识符、图片URL)。小程序端请求该接口,将表情数据缓存至本地。用户点击表情按钮时,从本地缓存中加载并插入到输入框。示例代码:Page({data: {emojiList: [] // 存储表情列表},

weixin_30765637的博客 1766

微信小程序聊天界面设计与实现教程

微信小程序,又称微信小应用,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。小程序也可以看作是一种新的连接用户与服务的方式,它集成了应用和服务的便捷性,同时又具备了无需安装卸载的特点,极大地提升了用户的使用体验。小程序与原生应用和Web应用相比,有几个显著的特点。首先,小程序不需要下载安装,用户通过微信内部的搜索、扫码、分享等渠道就能快速打开。其次,小程序拥有微信提供的强大API接口,可以调用微信的通信录、支付、位置等能力。

weixin_28931507的博客 1399

基于Wepy框架的仿微信聊天界面开发实战

WePY框架是一款专为微信小程序打造的类Vue.js开发框架,它通过组件化与模块化设计,极大地提升了开发效率与代码可维护性。其核心特性包括:支持Vue.js的开发语法、组件复用机制、ES6+语法支持以及良好的项目结构分层。对于已有前端开发经验的工程师而言,WePY降低了微信小程序的上手门槛,使开发者能够以更现代的前端开发方式构建小程序应用。相比原生开发,WePY提供了更清晰的代码组织结构和更高效的开发流程。

weixin_42234168的博客 980

java安卓仿微信聊天软件源码-web:网络

java安卓仿微信聊天软件源码 综合类 地址 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 免费的编程中文书籍索引 前端书籍 前端免费书籍大全 前端知识体系 免费的编程中文书籍索引 智能社 - 精通JavaScript开发 重新介绍 JavaScript(JS 教程) 麻省理工学院公开课:计算机科学及编程导论 JavaScript中的this陷阱的最全收集--没有之一 JS函数式编程指南 JavaScript Promise迷你书(中文版) 腾讯移动Web前端知识库 Front-End-Develop-Guide 前端开发指南 前端开发笔记本 大前端工具集 - 聂微东 前端开发者手册 入门类 地址 前端入门教程 瘳雪峰的Javascript教程 jQuery基础教程 前端工程师必备的PS技能——切图篇 结合个人经历总结的前端入门方法 效果类 地址 弹出层 焦点图轮播特效 工具类 地址 css sprite 雪碧图制作 版本控制入门 – 搬进 Github Grunt-beginner前端自动化工具

仿微信源码

高仿微信的源代码,下载来一起分享学习吧。

java安卓仿微信聊天软件源码-aoxiangwu.github.io:aoxiangwu.github.io

java安卓仿微信聊天软件源码 原始博客站点: 镜像1: 镜像2: 我在开源社区上的贡献(PR) sqlx 是Rust语言一款数据库工具,我参与了sqlxMySQL相关文档的修正 Fix a misspelling in MySQL types document actix/examples actix/examples 是actix_web的样例代码仓库 删掉了关闭服务器example中两个未使用的变量,避免内存浪费 wildfirechat/android-chat 野火IM是一款仿微信的聊天软件,我参与了安卓端的开发 将聊天消息RecyclerView仅用于UI预览下显示部分设为tools:text lukesampson/scoop scoop是一款windows系统的包管理工具,类似mac的homebrew或Linux的apt-get 当时的scoop基本靠人工发现软件新版本,然后手动更新bucket文件,我参与更新了7zip/sqlite的版本 不过现在scoop通过爬虫脚本自动抓取软件的最新版本,基本不需要人工更新bucket文件了 更新windows系统包管理器工具sc

java安卓仿微信聊天软件源码-tanchao:个人前端笔记

java安卓仿微信聊天软件源码 综合类 地址 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 免费的编程中文书籍索引 前端书籍 前端免费书籍大全 前端知识体系 免费的编程中文书籍索引 智能社 - 精通JavaScript开发 重新介绍 JavaScript(JS 教程) 麻省理工学院公开课:计算机科学及编程导论 JavaScript中的this陷阱的最全收集--没有之一 JS函数式编程指南 JavaScript Promise迷你书(中文版) 腾讯移动Web前端知识库 Front-End-Develop-Guide 前端开发指南 前端开发笔记本 大前端工具集 - 聂微东 前端开发者手册 入门类 地址 前端入门教程 瘳雪峰的Javascript教程 jQuery基础教程 前端工程师必备的PS技能——切图篇 结合个人经历总结的前端入门方法 效果类 地址 弹出层 焦点图轮播特效 工具类 地址 css sprite 雪碧图制作 版本控制入门 – 搬进 Github Grunt-beginner前端自动化工具

java安卓仿微信聊天软件源码-ThirdCode:第三代码

java安卓仿微信聊天软件源码 TimLiu-iOS 欢迎加入交QQ流群: 594119878 github排名 ,github搜索: 使用方法:根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性。 引入评价机制:根据作者们的主观评价,对库是用"赞"、“很赞”、“非常赞”这3个评价伺候,便于大家在初次选择库时有一个选择依据。 问题反馈:期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交Issues即可)。请广大网友只按照目录结构(即使目录结构有问题)添加三方库,并pull request。目录问题大家提出issues后楼主会及时更改的。 目录 - - ======== 具体内容 ============================= ======== Github用法@ Git recipes in Chinese. 高质量的Git中文教程. 怎样在Github上面贡献代码 有关 git 的学习资料 非常赞 有用的.gitignore模板集合(忽略上传的文件集合),包含了各种语言. 完整App@ - iOS开源App集合,分:swift与Object

java安卓仿微信聊天软件源码-awesome-stars:我的GitHub星星的精选列表!

java安卓仿微信聊天软件源码真棒明星 我的 GitHub 星星的精选列表! 生成者 内容 [Emacs Lisp](#emacs lisp) [Jupyter 笔记本](#jupyter 笔记本) [Vim 脚本](#vim 脚本) [Visual Basic](#visual basic) 阿帕奇会议 - 令人愉快的简单论坛软件。 C - c 的 http 请求/响应解析器 - 用于 Open vStorage 的 iSCSI 目标驱动程序 (TGT)。 - SDN网络指南(SDN手册) - 用于捕获和分析网络流数据和内部流数据的软件包,用于网络研究、取证和安全监控。 - NVM 库的活动开发树 - 开源脉冲星搜索和分析工具包 - afpfs-ng/libafpclient 是苹果文件协议的开源客户端 - 分层内存分配器 - 现代 HTTP 基准测试工具 - 查询SMB流量分析器数据库的工具 - SiriDB 是一个高度可扩展、健壮和超快速的时间序列数据库。 从头开始构建 SiriDB 使用独特的机制在没有全局索引的情况下运行,并允许动态添加服务器资源。 SiriDB 独特的查询语

告别软件轮询!用STM32G474的COMP比较器实现纳秒级硬件过压保护(CubeMX配置详解)

本文详细介绍了如何利用STM32G474的COMP比较器实现纳秒级硬件过压保护,通过CubeMX配置详解,展示了硬件比较器相比传统软件轮询方案在响应时间、CPU占用和可靠性等方面的显著优势。文章还提供了实战配置流程和优化技巧,帮助工程师快速构建高效的硬件保护系统。

weixin_28683689的博客 350

RC模型车多电机驱动方案:从电调PWM原理到四电机安全连接实战

在电机控制领域,PWM(脉冲宽度调制)是实现精确调速的核心技术。其原理是通过调节固定周期内高电平的脉宽来编码控制指令,进而驱动电子调速器(电调)改变输出功率。这项技术对于需要多电机协同工作的场景,如RC模型车的差速转向或重型负载驱动,具有关键价值。它能实现动力的精细分配与同步,提升车辆的可控性与通过性。在实际应用中,为确保系统稳定,必须关注电流分配与信号同步问题。例如,通过为每个电机配备独立电调并采用信号并联(Y线)的方式,可以构建可靠的四电机驱动系统。这种方案能有效避免因单个电调过载或电机反电动势不一致导

weixin_30664615的博客 381

(论文速读)PTV3: 更简单、更快速、更强大的3D点云处理新突破

该论文提出PointTransformerV3(PTv3),通过简化设计实现3D点云处理的效率突破。该研究摒弃复杂注意力机制,转而采用点云序列化和补丁注意力等高效方法,将感受野从16点扩展到1024点,在保持高精度的同时实现3倍速度提升和10倍内存优化。PTv3在超过20个室内外场景任务中取得SOTA结果,ScanNet语义分割达79.4%mIoU,Waymo检测提升3.3%APH。核心创新包括四种空间填充曲线序列化模式和xCPE位置编码,为3D感知的工业应用提供了高效解决方案。

LJ1147517021的博客 1376

一文读懂 SAP ICF Services:从 SICF 激活到 ABAP OData V2/V4 安全与实战

本文系统化介绍了ABAP系统中ICF服务的关键概念及实践要点。主要内容包括:ICF服务的核心安全机制,需显式激活才能响应HTTP请求;在SICF中正确激活服务的操作步骤;OData V2/V4服务所需的不同ICF节点配置,如V4统一入口节点/sap/opu/odata4;典型问题如default_host未激活会导致HOST_INACTIVE错误;安全实践包括CSRF防护机制和权限对象(S_ICF_ADM)配置;以及实际案例分析和常见ICF服务节点的功能说明。文章为ABAP开发者与运维人员提供了ICF服务管

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 467

Android SELinux——neverallow问题处理(十六)

遇到 neverallow 规则问题,千万别急着去注释/剔除里面原有的规则(原生的尽量别动)。增加 allow 规则是常见的解决办法,但是随着 android 版本的升级,系统对 SELinux 的管控越来越严,增加了大量的 neverallow。一般情况下,向默认标签授予权限的做法是错误的,其中许多权限都是 neverallow 规则所不允许的。按照上面方法去添加 SELinux 可能会违反了 neverallow 规则,编译时候会报 neverallow 相关的错误。

小旭的专栏 2658

系统架构设计师备考攻略

计算机软件资格考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。 软考没有学历、专业、年龄、相关工作经验要求,你可以根据自身选择合适的去报名(也就是说你直接直接报高级),但是一次考试只能报一种。 计算机软件资格考试纳入全国专业技术人员职业资格证书制度的统一规划,实行统一大纲、统一试题、统一标准、统一证书的考试办法,每年举行两次。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位聘任相应专业技术职务(助理工程师、工程师、高级工程师)。

帅次的博客 7155

java毕设:基于springboot的服装搭配推荐系统(springboot+layui+jq+html)1011

项目描述 基于springboot的服装搭配推荐系统: 基于天气服装搭配推荐系统为用户提供未来一周的天气预报情况,并根据预报天气和用户现有的服装进行着装搭配,以及显示未来6小时精确温度数据为用户提供更精确的天气信息便于用户在出行前对自己的着装进行调整,每日用户可以根据自己当日对系统推荐的着装搭配舒适度进行反馈,系统将根据用户的反馈对用户着装的保暖系数进行相应调整,通过多次的反馈和调整形成对用户着装的个体化和精确化的推荐。 本系统可以为用户提供以下服务: 1.未来五天的天气信息显示; 2.未来六小时内天气温度

qq_2537071370的博客 3646

【Mode Management】AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

qq_36056498的博客 1087

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: FTP解决跳转浏览器的三种方法(总有一种适合你)
下一篇: 小程序简称功能上线解析
盛国强
博客等级 码龄11年 105粉丝 22原创
评论 185
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值