由于目前所有的手机最高只到API9,我还没有基于API10的开发板用于调试,所以,代码均使用API9实现,后面API10发布后再看要不要更新了
只是用于学习鸿蒙API,代码规范以及质量就不要在意了~
样式与逻辑上,尽可能的与微信一致,但介于鸿蒙在自定义程度的局限性上,以及个人水平问题,无法做到完全一致
相关技术说明
组件说明
- 常用容器组件 Column、Row、Flex、Stack、RelativeContainer
- 常用基础组件 Button、Text、Image、Toggle、Slider、TextArea、TextInput、Blank、Divider
- 列表组件 List、Grid、AlphabetIndexer
- 其他组件 Swiper、Tabs、ImageAnimator、Badge、Panel、QRCode
- 绘制组件 Circle、Line、Path
- 媒体组件 Video
自定义组件
-
PatternView
这里不得不吐槽一下鸿蒙,原来是想直接用自带的手势密码,但自带的问题有点多,两个密码的连接线途径的密码,会强制选择,因而,无法实现 02/20/06/60/... 这样的的密码顺序
微信语音输入组件
动画使用
- 帧动画(ImageAnimator)
- 属性动画(animation)
- 显示动画(animationTo)
- 转场动画(pageTransition)
功能说明
- 微信主页面【微信】【通讯录】【发现】【我】
- 聊天页面
- 支持表情图文混排(API9只能自己实现,API10会有官方的实现方式)
- 支持多种消息类型显示
- 支持发送纯文字消息,语音消息,视频文件,图片文件
- 支持播放语音、视频
这里又要吐槽下,bindContextMenu 的强制边框,还有鸿蒙现在对输入法开/关以及监听支持很差,虽然提供有接口,但貌似都无效
- 聊天设置页、联系人信息页、联系人信息编辑页
- 我 -> 服务 -> 手势密码页
- 我 -> 个人信息 -> 二维码名片页
开发计划
UI 相关的都玩一遍
不仅仅是界面展示,将相关可执行交互实现
数据来源:本地写死 > 本地数据库 > 在线假数据(不存在的Doge)