【flutter】制作明信片
头像区域
CircleAvatar
CircleAvatar 用户头像组件 radius属性设置头像大小, backgroundImage设置用户头像。
在这里设置的图像为静态图像AssetImage,从本地imags文件夹中加载。
引入静态图像资源
设置静态图像需要在yaml文件中配置图像的路径。
首先在工程中创建一个images文件夹,把需要的图片资源放进去。这里资源名称为shanhu.jpeg。
之后再yaml文件中配置图片的路径。可以把图片
或者整个文件夹
配置进去。
flutter:uses-material-design: trueassets:- images/- images/shanhu.jpeg
void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(backgroundColor: Colors.teal,body: SafeArea(child: Column(children: [const CircleAvatar(radius: 50,backgroundImage: AssetImage('images/shanhu.jpeg'),),const Text('珊瑚宫星海',style: TextStyle(color: Colors.white,fontSize: 40,fontWeight: FontWeight.bold,),)],)),),);}
}
字体设置
下载字体
下载一个自己喜欢的字体,放在工程目录的fonts文件夹中,字体文件一般的格式为 文件名.ttf。
配置yaml文件
在yaml文件中写入以下配置, 其中family替换为自己的字体名,asset替换为自己的字体文件名
flutter:fonts:- family: AaJianHaoTifonts:- asset: fonts/AaJianHaoTi.ttf
语法检查关闭
flutter中有一些对于const的语法检查,会有大段的波浪线,可以在analysis_options.yaml
文件中设置关闭,根据编辑器提示的语法检查名称,
将这一项设置为false即可关闭。
linter:rules:prefer_const_literals_to_create_immutables : false
文字区域
引入自带图标
图标库网址:https://fluttericon.cn/ 在这里寻找自己需要的图标,使用Icons类引入自带的图标。
void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(backgroundColor: Colors.teal,body: SafeArea(child: Column(children: [const CircleAvatar(radius: 50,backgroundImage: AssetImage('images/shanhu.jpeg'),),const Text('珊瑚宫星海',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Colors.white,fontSize: 40,fontWeight: FontWeight.bold,),),const Text('Flutter Developer',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Color(0xFFB2DFDB),fontSize: 20,letterSpacing: 2.5,fontWeight: FontWeight.bold,),),Container(color: Colors.white,margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),padding: EdgeInsets.all(10),child: Row(children: [const Icon(Icons.phone_android,color: Colors.teal,),const SizedBox(width: 10,),const Text('+86 130111112222',style: TextStyle(color: Colors.teal,fontFamily: 'AaJianHaoTi',fontSize: 20,),),],),),Container(color: Colors.white,margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),padding: EdgeInsets.all(10),child: Row(children: [const Icon(Icons.email,color: Colors.teal,),const SizedBox(width: 10,),const Text('123456789@qq.com',style: TextStyle(fontSize: 20,fontFamily: 'AaJianHaoTi',color: Colors.teal,),)],),)],)),),);}
}
使用card组件替换Container
card是flutter预构建的组件,可以更方便的制作一个卡片效果。
card中没有padding属性,会自动设置内边距。
card中有一个孩子ListTile用来代替row组件。
ListTitle 中 leading 设置这一行开头的小图标, title 设置图标之后的文本。
void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(backgroundColor: Colors.teal,body: SafeArea(child: Column(children: [const CircleAvatar(radius: 50,backgroundImage: AssetImage('images/shanhu.jpeg'),),const Text('珊瑚宫星海',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Colors.white,fontSize: 40,fontWeight: FontWeight.bold,),),const Text('Flutter Developer',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Color(0xFFB2DFDB),fontSize: 20,letterSpacing: 2.5,fontWeight: FontWeight.bold,),),const Card(margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),child: ListTile(leading: Icon(Icons.phone_android,color: Colors.teal,),title: Text('+86 130111112222',style: TextStyle(color: Colors.teal,fontFamily: 'AaJianHaoTi',fontSize: 20,),),),),const Card(margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),child: ListTile(leading: Icon(Icons.email,color: Colors.teal,),title: Text('123456789@qq.com',style: TextStyle(fontSize: 20,fontFamily: 'AaJianHaoTi',color: Colors.teal,),),),),],)),),);}
}
设置主轴居中和水平线
主轴居中需要在column 组件上设置,属性名称为mainAxisAlignment。
水平线需要在SizedBox中设置一个child:Divider 指定水平线的颜色即可。
void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(backgroundColor: Colors.teal,body: SafeArea(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: [const CircleAvatar(radius: 50,backgroundImage: AssetImage('images/shanhu.jpeg'),),const Text('珊瑚宫星海',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Colors.white,fontSize: 40,fontWeight: FontWeight.bold,),),const Text('Flutter Developer',style: TextStyle(fontFamily: 'AaJianHaoTi',color: Color(0xFFB2DFDB),fontSize: 20,letterSpacing: 2.5,fontWeight: FontWeight.bold,),),const SizedBox(height: 20,width: 150,child: Divider(color: Color(0xFFB2DFDB), //Colors.teal.shade100),),const Card(margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),child: ListTile(leading: Icon(Icons.phone_android,color: Colors.teal,),title: Text('+86 130111112222',style: TextStyle(color: Colors.teal,fontFamily: 'AaJianHaoTi',fontSize: 20,),),),),const Card(margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),child: ListTile(leading: Icon(Icons.email,color: Colors.teal,),title: Text('123456789@qq.com',style: TextStyle(fontSize: 20,fontFamily: 'AaJianHaoTi',color: Colors.teal,),),),),],)),),);}
}
最终效果
【flutter】制作明信片相关推荐
- php制作明信片,用PS如何制作明信片?PS制作明信片图文介绍
即使在这个网络发达的社会,仍有很多人喜欢带有纸感的明信片.当看到很多漂亮明信片,是不是很心动.其实利用PS就可轻松制作个明信片.那么用PS如何制作明信片?想学习的朋友和小编一起来DIY明信片吧! PS ...
- flutter制作博客展示平台,现已支持 Web、macOS 应用、Android 和 iOS
Flutter Blog Theme using Flutter | Web, macOS, Android, iOS Flutter 最近发布了 Flutter V2.5.1,其性能得到了很大提升, ...
- 使用 Flutter 制作一个简单的笑话生成器应用程序
在本教程中,我将向您展示如何使用 Flutter 制作一个简单的笑话生成器应用程序 对于这个项目,我们将从 RESTful API 获取数据 API的链接: 随机笑话 对于这个项目,我不会关注应用程序 ...
- Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面
本文主要介绍如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面 我将向您展示如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面,所以不用多说,让我们开始吧.在本课程 ...
- InDesign 教程:如何制作明信片?
欢迎观看indesign教程,小编带大家学习 InDesign 的基本工具和使用技巧,了解如何在 inDesign 中设计整个明信片.通过选择正确设置,实现无忧打印. 打开inDesign,创建一个新 ...
- 一个制作明信片图片的 app
superXingPostCard 项目地址:hugeterry/superXingPostCard 简介:一个制作明信片图片的 app 简介 星空学生创新中心毕业季纪念产品 制作属于你的毕业明信片 ...
- app./制作明信片图片的app
superXingPostCard 项目地址:xingkongus/superXingPostCard 简介:An post card DIY app./制作明信片图片的 app 星笺 Androi ...
- php制作明信片,教你用ps简单制作明信片
当你收到别人自己做的明信片时,你是什么感觉,当你看到别人都在自己做明信片时,你又是什么感觉呢?你是不是也想自己DIY一个呢,那就来吧,下面介绍一个最简单的方法,怎么用ps做明信片.先看一个效果图吧. ...
- Word文档制作明信片
很多时候,我们会看见明信片,今天我们来学习用word文档制作明信片. 首先我们会发现纸张太大了,这时我们需要把页边距变窄. 再点这个 改成这样 会变成 然后可以先放大 建议调到165% 然后插入背景图 ...
- 如何用html制作明信片,用PS如何制作明信片?PS制作明信片图文介绍
即使在这个网络发达的社会,仍有很多人喜欢带有纸感的明信片.当看到很多漂亮明信片,是不是很心动.其实利用PS就可轻松制作个明信片.那么用PS如何制作明信片?想学习的朋友和小编一起来DIY明信片吧! PS ...
最新文章
- DB2 9 使用拓荒(733 检讨)认证指南,第 2 部分: DB2 数据操作(6)
- Microsoft PowerToys for Windows XP
- 分享一个OTA测试服务器,可以用来测试esp8266的http update功能
- TCP 和IP的区别
- OpenCV hdr成像技术的实例(附完整代码)
- gitlab 自动推送代码到gitee_Gitlab 利用 Webhook+jenkins 实现自动构建与部署
- java docx转html实例_Java实现将word转换为html的方法示例【doc与docx格式】
- java socket发送定长报文_socket编程
- 切换python执行版本
- 第四届HTML5峰会 - 上海站
- 算法是什么我记不住,But i do it my way. (二)
- 利用第三方工具上传文件
- spring 数组中随机取几个_最新redux-spring前端模块化框架
- Vuex 实战:如何在大规模 Vue 应用中组织 Vuex 代码 | 掘金技术征文
- 雷赛控制卡可以用java写吗_运动控制卡应用编程技巧几招(2)
- 创建exchange邮箱用户
- cmd无法打开jupyter notebook问题
- 朋友说:能不能用python,帮我写一个“制作工资条”的自动化程序?
- java俄罗斯方块七中图形类_shell脚本编写的俄罗斯方块游戏代码
- 基于微信小程序的垃圾分类小程序(语音识别和历史记录查询)(源码已开源)