Flutter高仿微信-第28篇-好友详情-查看个人头像

news2025/1/12 8:04:55

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。

详情请查看

效果图:

实现代码:

/**
 * Author : wangning
 * Email : maoning20080809@163.com
 * Date : 2022/9/26 13:22
 * Description : 查看联系人详情
 */
class ContactsDetails extends StatefulWidget {
  String toChatId;

  ContactsDetails({required this.toChatId});

  @override
  _ContactsDetailState createState() => _ContactsDetailState(this.toChatId);
}

class _ContactsDetailState extends State<ContactsDetails> {
  String _toChatId;

  _ContactsDetailState(this._toChatId);

  UserBean? _userBean;

  @override
  void initState() {
    super.initState();
    loadUserBean();
  }

  void loadUserBean() async {
    UserRepository.getInstance().findUserByAccount(_toChatId).then((userBean) => {
      setState(() {
        _userBean = userBean;
      })
    });
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {

    Widget buildMainRow() {
      return Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[

          Container(
            padding: EdgeInsets.only(left: 12, top: 26, right: 12, bottom: 12),
            child: GestureDetector(
              onTap: (){
                Navigator.push(context, MaterialPageRoute(builder: (context) => CommonImagePreview(fileName : CommonUtils.getReallyImage(_userBean?.avatar), isNetwork: true,)));
              },
              child: CommonAvatarView.showBaseImage(_userBean?.avatar??"", 80, 80),
            ),
          ),
          
          Expanded(
              child: Container(
              padding: EdgeInsets.only(top: 10.0),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(_userBean?.nickName??"",style: TextStyle(fontSize: 26, fontWeight: FontWeight.bold),),
                  Container(height: 2.0,),
                  GestureDetector(
                    onLongPress: (){
                      Clipboard.setData(ClipboardData(text: "${_userBean?.account??""}"));
                      CommonToast.show(context, "${AppManager.getInstance().appName}:已复制");
                    },
                    child: Text('账号:${_userBean?.account??""}',maxLines: 1,style: TextStyle(color: Colors.black87, fontSize: 16.0),),
                  ),
                  /*Container(height: 2.0,),
                  Text('地区:广东 湛江',maxLines: 1,style: TextStyle(color: Colors.grey, fontSize: 13.0),)*/
                ],
              ),
          )),
        ],
      );
    }

    return Scaffold(
      appBar: WnAppBar.getAppBar(context, Text("好友详情")),
      body: Container(
          color: Color(Style.primaryValue),
          child: Column(
            children: <Widget>[
              Container(
                decoration: BoxDecoration(color: Colors.white,border: Border(bottom:BorderSide(color: Color(0xffd9d9d9), width: .3))),
                padding: EdgeInsets.only(bottom: 28.0),
                child: buildMainRow(),
              ),
              Container(
                decoration: BoxDecoration(
                    color: Colors.white,
                    border: Border(
                        bottom:
                            BorderSide(color: Color(0xffd9d9d9), width: .3))),
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Container(
                      color: Color(0xffEDEDED),
                      height: 10.0,
                    ),
                    RawMaterialButton(
                      onPressed: () {
                        Navigator.popUntil(context, (route) {return route.isFirst;});
                        Navigator.push(context, MaterialPageRoute(builder: (c) {return HomeChatPage(toChatId: _toChatId);}));
                      },
                      child: Container(
                        decoration: BoxDecoration(
                            color: Colors.white,
                            border: Border(
                                bottom: BorderSide(
                                    color: Color(0xffd9d9d9), width: .3))),
                        alignment: Alignment.center,
                        height: 54.0,
                        child: Text(
                          '发消息',
                          style: TextStyle(color: Colors.blue, fontSize: 18),
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            ],
          )),
    );
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis如何实现持久化(AOF、RDB、混合模式)的优缺点

&#x1f468;‍&#x1f4bb;个人主页&#xff1a; 才疏学浅的木子 &#x1f647;‍♂️ 本人也在学习阶段如若发现问题&#xff0c;请告知非常感谢 &#x1f647;‍♂️ &#x1f4d2; 本文来自专栏&#xff1a; Redis ❤️ 支持我&#xff1a;&#x1f44d;点赞 &#x1f33…

OpenStackds集群部署(一)

一、OpenStack简介 Openstack体系架构 1. Openstack服务之间的关系 2.体系架构 3. 硬件要求 4. 网络架构 1.1 什么是OpenStack OpenStack是把一堆计算机资源和一堆存储服务器放到世界上不同的地方&#xff0c;然后通过这个OpenStack提供的不同服务程序连接起来&#xff0…

Linux(基于Centos7)(二)

文章目录一、任务介绍二、任务实施三、任务扩展一、任务介绍 Linux服务器配置与管理&#xff08;基于Centos7.2&#xff09;任务目标&#xff08;一&#xff09; 实施该工单的任务目标如下&#xff1a; 知识目标 1、熟悉Linux文件权限的表示方法。 2、了解改变文件权限的两种…

使用内存技术实现 HTAP 的可行性

万籁 “俱寂” 时&#xff0c;一家知名 IT 研究与顾问咨询机构的发声&#xff0c;给关系型数据库这个平静的池塘丢了颗巨石&#xff1a;2014 年&#xff0c;Gartner 正式提出了 HTAP 这个概念。 Gartner’s definition in 2014: utilizes in-memory computing technologies to …

查阅必备----常用的SQL语句,配语句和图解超详细,不怕你忘记

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 **收录于专栏 数据库 ⭐查阅必备–常用的SQL语句⭐ 文章目录⭐查阅必备--常用的SQL语句⭐一&#xff0c;关键语句大全&am…

驱动——设备树属性获取相关实验

完成设备树属性获取相关实验 通过键名获取数值相关API获取设备树属性 1、要获取的属性如下所示&#xff1a; /*mynode0x12345678{ compatible "hqyj,mynode";//字符串 astring"hello 22071";//字符串 uint <0xaabbccdd 0x11223344>;//32位无符号…

SpringBoot SpringBoot 开发实用篇 6 监控 6.5 health 端点指标控制

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇6 监控6.5 health 端点指标控制6.5.1 问题引入6.5.2 health 端点指标…

十二、虚拟 DOM 和 render() 函数(1)

本章概要 虚拟DOMrender()函数 Vue.js 之所以执行性能高&#xff0c;一个很重要的原因就是它的虚拟 DOM 机制。 12.1 虚拟 DOM 浏览器在解析 HTML 文档时&#xff0c;会将文档中的元素、注释、文本等标记按照它们的层级关系组织成一棵树&#xff0c;这就是熟知的 DOM 树。元…

MCE | LYTAC 与靶向蛋白降解技术

靶向蛋白降解 (TPD) 是一种有效性的&#xff0c;高度选择性的诱发蛋白降解方式。近年来&#xff0c;以 PROTAC 为代表的 TPD 技术的研究如火如荼。PROTAC 主要降解的是胞内蛋白&#xff0c;实际上&#xff0c;有 40% 的基因产物为胞外和膜相关蛋白&#xff0c;如生长因子、细胞…

一种新的数据聚类启发式优化方法——黑洞算法(基于Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

【学习QT必备的C++基础】C++类和对象

文章目录C类的定义和对象的创建详解类的定义创建对象访问类的成员使用对象[指针](http://c.biancheng.net/c/80/)总结C类的成员变量和成员函数详解在类体中和类体外定义成员函数的区别C类成员的访问权限以及类的封装简单地谈类的封装对private和public的更多说明C对象的内存模型…

异构网络小入

A Survey of Heterogeneous Information Network Analysis Heterogeneous Graph Attention Network 异构网络很火吗&#xff1f; 在一个网络中&#xff0c;不用节点的类型不同&#xff0c;这是肯定的。 所以&#xff0c;异构网络在表征比较复杂的情形时&#xff0c;是比较合适…

低代码引擎半岁啦,来跟大家唠唠嗑...

作者&#xff1a;刘菊萍(絮黎) 之前低代码引擎一直是在阿里集团内部进行孵化的&#xff0c;对外开源算是一次新生。从2022年3月23日开源至今&#xff0c;我们的低代码引擎已经半岁了&#xff0c;希望借这个机会来跟大家唠唠嗑。 开源地址&#xff1a;https://github.com/aliba…

WeOps上新|V3.12版本提升网络设备的自动化能力

本次WeOpsV3.12版本更新主题总结为&#xff1a; 持续补充自动发现能力&#xff0c;覆盖网络设备和数据库扩充自动化运维&#xff0c;支持网络设备脚本工具内置AD账号自动化流程&#xff0c;支持AD账号创建/密码重置/删除增加监控告警移动端&#xff0c;覆盖更多场景优化凭据管…

WebDAV之葫芦儿·派盘+人生Life

人生Life 支持webdav方式连接葫芦儿派盘。 自己经常容易忘记的情,后来便记录在便签中,以作提醒和备忘;但是到了时间还是会因时间安排不妥冲突而无法完成,拖拖拉拉、还是很乱,总是会忘记会议、想不起重要的行程,非常烦恼;直到体验了人生Life这几款日程、待办事情的APP后…

WordPress图片自动添加alt标签和title的两种方法(插件or代码)实例

使用WordPress家长朋友知道&#xff0c;上传图片的时候是不会自动添加alt标签的&#xff0c;从seo和用户体验来看&#xff0c;图片加alt标签还是非常非常重要的。 WordPress自动给图片添加alt标签和title的两种方法&#xff08;插件or代码&#xff09;实例Alt信息&#xff1a; …

MemArts :高效解决存算分离架构中数据访问的组件

摘要&#xff1a;计算侧需要一个高速的缓存层来消除计算集群和OBS之间的数据访问鸿沟。为了解决这个问题&#xff0c;提出MemArts CC分布式客户端缓存。本文分享自华为云社区《华为云全新缓存生态组件MemArts》&#xff0c;作者&#xff1a; MichaelYun。 公有云的基础设施都是…

piwigo搭建在线网络相册,并随时随地访问

作为一个打工人&#xff0c;我们所在的城市总与父母相隔甚远&#xff0c;而成家立业后&#xff0c;孩子又成所有人的羁绊&#xff0c;有的孩子在自己身边&#xff0c;引得远方父母思念挂牵&#xff0c;时时刻刻与父母视频通话很不现实&#xff0c;老人也没法和自己的老伙伴们分…

酒店管理系统

登录模块设计 &#xff08;1&#xff09;在登录界面&#xff0c;包含用户名&#xff0c;密码信息&#xff0c;输入之后点击登录进入酒店管理系统。 &#xff08;2&#xff09;用户名和密码都不能为空&#xff0c;否则会弹出对话框进行提醒。 &#xff08;3&#xff09;后端也会…

口碑最好的运动蓝牙耳机推荐,2022年最值得入手的六款运动耳机

说到耳机&#xff0c;绝大多数人都在使用&#xff0c;对于运动爱好者就更不用多说&#xff0c;运动耳机随身携带着&#xff0c;跑道哪&#xff0c;戴到哪。随着耳机越来越多样化&#xff0c;各种耳机层出不穷&#xff0c;大家都难挑选&#xff0c;不知道怎么找&#xff0c;一副…