Code前端首页关于Code前端联系我们

使用 Dart+Flutter 开发类似微信界面的聊天应用程序的示例

terry 2年前 (2023-09-22) 阅读数 143 #移动小程序

Flutter 是 Google 的开源用户界面框架,可帮助开发人员通过代码库集。相比目前的混合开发方案,Flutter提供了大量的文档,可以让您快速、轻松地加入这个大家庭。对于移动端,Flutter 提供了一种符合 Android 风格的材质和一种符合 Cupertino iOS 风格的材质。不同的平台也有不同的兼容性。有兴趣的同学可以关注GitHub:

Dart+Flutter开发仿微信界面聊天应用的实例

今天给大家分享FlutterChat项目,一个基于flutter+dart技术的实用微信App聊天室,实现了消息/表情、图片预览、视频/红包/朋友圈等功能, ETC。? : ^
弹出组件:SimpleDialog/AlertDialog/SnackBar(flutter包定制)
本地存储:shared_preferences: ^
字体图标:阿里巴巴图标字体图标项目页面 ♿❙字体图标 ♷ 设置

Dart+Flutter开发仿微信界面聊天应用的实例
/* *

  • @tpl Flutter 输入页面 | Q:282310962
    */

import 'package:flutter/';

//引入公共样式
b import Bottom 'styles/'/♷/♷/ import ' Components/';

//引入地址路由
import 'router/';

void main() => runApp(MyApp ()); get @
class MyApp override
构建小部件(在 BuildContext 上下文中){
return MaterialApp(
title: 'Flutter App',
debugShowCheckedMo
主色: ,
),
主页: TabBarPage() ,
onGenerateRoute: onGenerateRoute,
);
}
}
}
}
全背景沉浸式栏+标签导航

如何实现顶部透明状态栏颤动模式(去除状态栏黑色半透明背景)并去除右上角的横幅。详情请阅读这篇文章
沉浸式滚动状态栏/AppBar导航栏/仿Saltfish,底部凸起导航

展开图标组件/使用阿里巴巴字体库

使用flutter中内置的图标非常简单 Icon() 如果你想自定义一个图标,比如如何使用阿里巴巴图标的图标字体,那么你需要使用 IconData , fontFamily:'iconfont' ), size :) 要使用 IconData,首先要应用一个自定义图标 Icon(IconData(0xe60e) ),大小:) 下载阿里巴巴图标库字体文件,然后引入字体
Dart+Flutter开发仿微信界面聊天应用的实例
class GStyle {
// __ 自定义图标
static IconFont(int codePoint, {double size = 16.0, colorColor}) {
return Icon(
IconData(codePoint, fontFamily: 'iconfont', matchText 方向),size:: true Direction
color: color,
;如果没有这样的组件,则需要自定义实现。
Dart+Flutter开发仿微信界面聊天应用的实例
lass GStyle {
// 消息红点
static char(int count, {Color color = Colors.red, bool isdot = false, double height, = 0.8) {
Final _number = 数字 > 99 ? '···' : count;
return Container(
alignment: Alignment.center, height: !isdot ? height : height/2, width: !isdot ? width : width/2,
装饰: BoxDecoration(color: color, borderRadius: ()),
child: !isdot ? Text('$_num', style: TextStyle(color: Colors.white, fontSize: 12.0)): null
);
}
}
支持自定义点颜色、大小及99个以上...提示 (0, isdot:true) (13) (168, 颜色: Colors.green, 高度: 17.0, 宽度: 17.0 )

Flutter自定义长按菜单/去掉弹出大小限制

如何在flutter中实现类似微信聊天记录的长按菜单复制/发送给好友/转发/收集/删除获取长按坐标点来flutter提供的 InkWell 组件的 onTapDown 事件,然后 onLongPress 长按事件打开菜单
Dart+Flutter开发仿微信界面聊天应用的实例
InkWell(
splashColor: [200],❀) , onTapDown: (TapDownDetails 详情) {
_globalPositionX = 详细信息.globalPosition.dx;
_globalPositionY = 详细信息.globalPosition.dy;,♶}♸重新在线:() {
_ShowpopupMenu (context);
},
),
// 按下弹出窗口
double _globalPositionx = 0.0; // 按下位置的横坐标 ? ).size.width/2 ? false : true;
// 判断点击位置是在屏幕的上半部分还是下半部分
bool isTop = _globalPositionY > (context).size.height/2 ?错误 正确;

showDialog(
  context: context,
  builder: (context) {
    return Stack(
      children: <Widget>[
        Positioned(
          top: isTop ? _globalPositionY : _globalPositionY - 200.0,
          left: isLeft ? _globalPositionX : _globalPositionX - 120.0,
          width: 120.0,
          child: Material(
            ...
          ),
        )
      ],
    );
  }
);

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门