Flutter系列(十)实现个人中心页

news/2024/11/23 12:02:08/

基础工程:

Flutter系列(四)底部导航+顶部导航+图文列表完整代码_摸金青年v的博客-CSDN博客

一、前言

        本文用flutter实现个人中心页布局,效果如下图:

 

二、使用的组件

        1.颜色渐变:LinearGradient     线性渐变组件

        2.圆形头像:ClipOval    给它的子组件剪裁成圆形

   

三、完整代码

import 'package:flutter/material.dart';/*个人中心页*/
class HomePage extends StatefulWidget {@overrideState<HomePage> createState() => _HomePage();
}class _HomePage extends State<HomePage> {@overrideWidget build(BuildContext context) {return Container(decoration: const BoxDecoration(gradient: LinearGradient(colors: [Color(0xFFBBDEFB), Colors.white70], //背景渐变色:顶部蓝色到底部灰色begin: Alignment.topCenter, //颜色渐变从顶部居中开始end: Alignment.bottomCenter, //颜色渐变从底部居中结束)), //背景装饰:颜色渐变child: Column(children: [topInfo(context), //头像+昵称+编辑资料userDate(), //用户数据:关注+收藏+点赞+历史commonFunction(), //常用功能],),);}/*顶部信息:头像+昵称+编辑资料*/Padding topInfo(BuildContext context){return Padding(padding: const EdgeInsets.fromLTRB(30, 90, 10, 40),child: Row(children: [GestureDetector(child: ClipOval(child: Image.network('https://img-blog.csdnimg.cn/c6dfd375abf1433fa3a42951cc186a2b.jpeg', width: 50, height: 50, fit: BoxFit.cover),),onTap: (){},),const Padding(padding: EdgeInsets.fromLTRB(16, 0, 150, 0),child: Text('昵称', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16))),TextButton  (style: ButtonStyle(minimumSize: MaterialStateProperty.all(const Size(80, 60)), //按钮宽高设置foregroundColor: MaterialStateProperty.all<Color>(const Color.fromARGB(100, 30, 144, 255)), //背景色shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(10))), //圆角),child: const Text('编辑资料', style: TextStyle(color: Colors.blueAccent)),onPressed: () {},),],),);}/*用户数据:关注+收藏+历史*/Container userDate(){return Container(margin: const EdgeInsets.all(8),height: 80,width: 360,child: const Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, //主轴方向(横向)间距children: [Column(children: [Text('66', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16)),Text('关注'),],),Column(children: [Text('101', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16)),Text('收藏'),],),Column(children: [Text('278', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16)),Text('点赞'),],),Column(children: [Text('579', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16)),Text('历史'),],),],));}/*常用功能*/Container commonFunction(){return Container(margin: const EdgeInsets.all(5),height: 120,width: 360,decoration: BoxDecoration(color: const Color.fromARGB(200, 248, 248, 255),  // 白色borderRadius: BorderRadius.circular(12), // 设置圆角),child: Column(mainAxisAlignment: MainAxisAlignment.spaceEvenly, //垂直方向平分children: [const Align(alignment: Alignment.topLeft,child: Text('  常用功能', style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14)),),Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, //主轴方向(横向)间距children: [Column(children: [IconButton(icon: const Icon(Icons.message),onPressed: () {},color: Colors.blue,),const Text('消息'),],),Column(children: [IconButton(icon: const Icon(Icons.directions_boat),onPressed: () {},color: Colors.redAccent,),const Text('动态'),],),Column(children: [IconButton(icon: const Icon(Icons.settings),onPressed: () {},color: Colors.green,),const Text('设置'),],),Column(children: [IconButton(icon: const Icon(Icons.output),onPressed: () {},color: Colors.deepOrangeAccent,),const Text('退出'),],)],)],));}}

本文结束


http://www.ppmy.cn/news/629154.html

相关文章

前端position使用方法

position 是一个 CSS 属性,用于控制元素的定位方式。它可以设置以下几个值: static:默认值,元素按照正常的文档流进行布局,不进行定位。relative:相对定位,元素会相对于其正常位置进行偏移,但仍然占据原来的空间。absolute:绝对定位,元素会脱离正常文档流,相对于其最…

电脑很大,笔记本电脑响声很大怎么回事

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 以风扇为例&#xff0c;其笔记本电脑响声很大的原因有&#xff1a; 1、使用时间过长&#xff0c;风扇的线圈老化&#xff0c;缺油。 2、由于使用不当&#xff0c;受到撞击或震动导致…

C++组件扩展实现:函数特性function_traits

#include<functional> #include<tuple> #include<type_traits> #include<iostream> using namespace std;template<typename T> struct function_traits;//处理普通函数 template<typename RET,typename ...ARGS> struct function_traits&…

FFmpeg音视频开发知识点(二)

系列文章目录 FFmpeg音视频开发知识点&#xff08;一&#xff09; 文章目录 系列文章目录前言一、AAC音频编码1. ffmpeg编译第三方的libfdk_aac2. S16重采样FLTP 二、AAC音频解码总结 前言 该篇讲解一下&#xff0c;音频编解码中的难点&#xff0c;以及开发过程中遇到问题&am…

计算机硬件配置一般看什么CPU,电脑配置怎么看好坏

电脑配置怎么看好坏 电脑有硬件和软件组成,而决定电脑性能有四大部件,分别为CPU、显卡、内存、硬盘。任何一个的性能弱,都会造成电脑慢。那么电脑配置怎么看好坏?下面一起来看看。 一、处理器cpu看什么 处理器是电脑控制的核心,一套搭配合理电脑,看处理器可以看出整机的档…

计算机系统处理器好坏怎么看,新手装机教程:怎么看cpu好坏?电脑cpu参数怎么看?...

「辰鸿科普」 电脑cpu参数怎么看&#xff1f;cpu对于一台电脑的重要性就好比汽车里的发动机&#xff0c;然而很多用户在选择cpu的时候不知道怎么看cpu好坏&#xff0c;稍微懂那么一点点的还知道个酷睿、奔腾&#xff0c;或者双核&#xff0c;四核之类的。然而仅仅知道这些是不够…

计算机配置好坏怎么看,怎么看电脑配置好坏

怎么看电脑配置好坏 很多人都只懂得使用电脑却不懂怎么看电脑配置好坏&#xff0c;这对电脑的维护和使用都不利的&#xff0c;下面就来分享一下怎么看电脑配置好坏。 步骤1、右键“我的电脑”&#xff0c;常规里有简单电脑配置&#xff0c;具体一点的在“硬件”&#xff0c;打开…

如何区分显卡的好坏?

1. 分A卡和N卡&#xff0c;A卡就是ATI&#xff0c;N卡呢就是NVIDIA&#xff0c;首先是厂商这些分一线场和二线厂&#xff0c;A卡首选蓝宝石出的&#xff0c;N卡首选影驰出的~型号之分呢举个例子吧&#xff0c;拿N卡来说&#xff0c;7300和7600虽说只差一个型号&#xff0c;但价…