66.会员中心_编写ListTile通用方法

布局List里面嵌套一个ListTile的布局效果

里面有很多条记录,以后可能还会增加,所以这里我们做一个通用的组件

通用组件方法

这里使用Column布局

调用总的方法

效果展示

最终代码:

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; class MemberPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('会员中心'),
),
body: ListView(
children: <Widget>[
_topHeader(),
_orderTitle(),
_orderType(),
_actionList()
],
),
);
} Widget _topHeader(){
return Container(
width: ScreenUtil().setWidth(),
padding: EdgeInsets.all(),
color: Colors.pinkAccent,//亮粉色
child: Column(
children: <Widget>[
Container(
margin: EdgeInsets.only(top: ),
child: ClipOval(//圆形的头像
child: Image.network('http://blogimages.jspang.com/blogtouxiang1.jpg'),
),
),
//头像下面的文字,为了好看也是嵌套一个Container
Container(
margin: EdgeInsets.only(top: ),
child: Text(
'技术胖',
style: TextStyle(
fontSize: ScreenUtil().setSp(),
color: Colors.black54
)
),
)
],
),
);
} //我的订单标题
Widget _orderTitle(){
return Container(
margin: EdgeInsets.only(top: ),
decoration: BoxDecoration(
color: Colors.white,
border: Border(
bottom: BorderSide(width: ,color: Colors.black12)
)
),
child: ListTile(
leading: Icon(Icons.list),
title: Text('我的订单'),
trailing: Icon(Icons.arrow_right),
),
);
} Widget _orderType(){
return Container(
margin: EdgeInsets.only(top:),
width: ScreenUtil().setWidth(),
height: ScreenUtil().setHeight(),
padding: EdgeInsets.only(top: ),
color:Colors.white,
child: Row(
children: <Widget>[
Container(
width: ScreenUtil().setWidth(),
child: Column(
children: <Widget>[
Icon(
Icons.query_builder,
size: ,
),
Text(
'待付款'
)
],
),
),
Container(
width: ScreenUtil().setWidth(),
child: Column(
children: <Widget>[
Icon(
Icons.query_builder,
size: ,
),
Text(
'待发货'
)
],
),
),
Container(
width: ScreenUtil().setWidth(),
child: Column(
children: <Widget>[
Icon(
Icons.directions_car,
size: ,
),
Text(
'待收货'
)
],
),
),
Container(
width: ScreenUtil().setWidth(),
child: Column(
children: <Widget>[
Icon(
Icons.content_paste,
size: ,
),
Text(
'待评价'
)
],
),
)
],
),
);
} //通用ListTitle
Widget _myListTile(String title){
return Container(
decoration: BoxDecoration(
color: Colors.white,
border: Border(
bottom: BorderSide(
width: ,
color: Colors.black12
)
)
),
child: ListTile(
leading: Icon(Icons.blur_circular),
title: Text(title),
trailing: Icon(Icons.arrow_right),
),
);
} Widget _actionList(){
return Container(
margin: EdgeInsets.only(top: ),
child: Column(
children: <Widget>[
_myListTile('领取优惠券'),
_myListTile('已领取优惠券'),
_myListTile('地址管理'),
_myListTile('客服电话'),
_myListTile('关于我们'),
],
),
);
} }

Flutter实战视频-移动电商-66.会员中心_编写ListTile通用方法的更多相关文章

  1. Flutter实战视频-移动电商-64.会员中心_顶部头像UI布局

    64.会员中心_顶部头像UI布局 会员中心的样式 member.dart 清除原来的代码生成一个基本的结构 默认返回一个scaffold脚手架工具,body里面布局使用ListView,这样不会出现纵 ...

  2. Flutter实战视频-移动电商-65.会员中心_订单区域UI布局

    65.会员中心_订单区域UI布局 我的订单区域 member.dart写我的标题的方法 布局使用瓦片布局 先做修饰,decoration颜色的背景,下边线的样式 //我的订单标题 Widget _or ...

  3. Flutter实战视频-移动电商-30.列表页_商品列表UI界面布局

    30.列表页_商品列表UI界面布局 小程序里面的布局方式 小程序的图片上这里使用的是warp布局,因为首页里面火爆专区,已经用过了warp来布局了. 所以这里我们没有必要再讲一遍,这里我们使用List ...

  4. Flutter实战视频-移动电商-34.列表页_小BUG的修复

    34.列表页_小BUG的修复 当高粱酒的子类没有数据返回的时候就会报错. 解决接口空数据报错的问题 没有数据的时候,给用户一个友好的提示, 我们没有数据的时候还要告诉用户,提示一下他没有数据,在我们的 ...

  5. Flutter实战视频-移动电商-05.Dio基础_引入和简单的Get请求

    05.Dio基础_引入和简单的Get请求 博客地址: https://jspang.com/post/FlutterShop.html#toc-4c7 第三方的http请求库叫做Dio https:/ ...

  6. Flutter实战视频-移动电商-08.Dio基础_伪造请求头获取数据

    08.Dio基础_伪造请求头获取数据 上节课代码清楚 重新编写HomePage这个动态组件 开始写请求的方法 请求数据 .但是由于我们没加请求的头 所以没有返回数据 451就是表示请求错错误 创建请求 ...

  7. Flutter实战视频-移动电商-21.分类页_类别信息接口调试

    21.分类页_类别信息接口调试 先解决一个坑 取消上面的GridVIew的回弹效果.就是在拖这个gridview的时候有一个滚动的效果 physics: NeverScrollableScrollPh ...

  8. Flutter实战视频-移动电商-25.列表页_使用Provide控制子类-1

    25.列表页_使用Provide控制子类-1 主要是二级分类的UI布局 1分15秒 生成我们的右侧动态类 定义list变量 开始写里面的子项,把每一个小的写了 再拼成一个大的 这样我们的小类就写完了 ...

  9. Flutter实战视频-移动电商-26.列表页_使用Provide控制子类-2

    26.列表页_使用Provide控制子类-2 主要实现功能,点击一级分类,二级分类跟着变.这里主要用哦我们的provide 新建provide provide文件夹下创建:child_category ...

随机推荐

  1. CentOS7配置opencv for python && eclipse c/c++[更新]

    更改前的安装过程有些问题,主要是ffmpeg-devel的安装部分,这里重新说一下 两种安装方法: 第一种,直接: # yum install numpy opencv* 这种方法安装了之后,能够在p ...

  2. LeetCode215:Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  3. Java中ASM框架详解

    什么是asm呢?asm是assembly的缩写,是汇编的称号,对于java而言,asm就是字节码级别的编程.  而这里说到的asm是指objectweb asm,一种.class的代码生成器的开源项目 ...

  4. 游戏开发之基础图像---3d图像处理

    http://dev.gameres.com/Program/Visual/3D/3Darit.htm float 类型数据有效数字是小数点后面6位 单精度 doluble 类型数据是至少10位,双精 ...

  5. 透视WPF 应用程序的利器

    当我们看到一些设计新颖的网站时,可以借助浏览器自带的Inspector 工具或插件方便的浏览网站布局结构及逻辑.如果是WPF 应用程序能否看到控件的架构方式呢?本篇将介绍两款工具Snoop 和WPF ...

  6. linux 中添加自己的库路径的方法 cannot open shared object file: No such file or directory

    本文转自:http://blog.csdn.net/maotianwang/article/details/44619197 库文档在连接(静态库和共享库)和运行(仅限于使用共享库的程式)时被使用,其 ...

  7. 九度OJ 1108:堆栈的使用 (堆栈)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6705 解决:1974 题目描述: 堆栈是一种基本的数据结构.堆栈具有两种基本操作方式,push 和 pop.Push一个值会将其压入栈顶, ...

  8. s:iterator

    s:iterator 标签有3个属性:     value:被迭代的集合     id   :指定集合里面的元素的id     status 迭代元素的索引 1:jsp页面定义元素写法 数组或list ...

  9. Code Review 规范

    CodeReview规范 CodeReivew 标准 通用原则 提交 PR 的代码必须保证自测通过 只 review 代码规范.业务逻辑,不 review 架构设计(那是写代码前应该做的事情) 干掉重 ...

  10. 测试覆盖率Emma工具使用

    Emma使用与分析 #什么是Emma EMMA 是一个开源.面向 Java 程序测试覆盖率收集和报告工具.它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种 ...