加群452892873 下载对应39课文件,运行方法,建好项目,直接替换lib目录

pubspec.yaml

city_pickers: ^0.1.22

AddressAdd.dart

import 'package:flutter/material.dart';
import 'package:flutter_jdshop/services/ScreenAdapter.dart';
import 'package:flutter_jdshop/widget/JdButton.dart';
import 'package:flutter_jdshop/widget/JdText.dart';
import 'package:city_pickers/city_pickers.dart';class AddressAddPage extends StatefulWidget {AddressAddPage({Key key}) : super(key: key);_AddressAddPageState createState() => _AddressAddPageState();
}class _AddressAddPageState extends State<AddressAddPage> {String area = '';@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('增加收货地址'),),body: Container(child: ListView(children: <Widget>[JdText(text: "收货人姓名",),SizedBox(height: 10),JdText(text: "收货人电话",),SizedBox(height: 10),Container(padding: EdgeInsets.only(left: 5),height: ScreenAdapter.height(68),decoration: BoxDecoration(border: Border(bottom: BorderSide(width: 1, color: Colors.black12))),child: InkWell(child: Row(children: <Widget>[Icon(Icons.add_location),this.area.length > 0? Text("${this.area}",style: TextStyle(color: Colors.black54)): Text("省/市/区",style: TextStyle(color: Colors.black54))],),onTap: () async {Result result = await CityPickers.showCityPicker(context: context,cancelWidget:Text('取消', style: TextStyle(color: Colors.black54)),confirmWidget:Text("确定", style: TextStyle(color: Colors.blue)));setState(() {this.area ="${result.provinceName}/${result.cityName}/${result.areaName}";});},),),SizedBox(height: 10),JdText(text: "详细地址",maxLines: 4,height: 200,),SizedBox(height: 10),RaisedButton(child: Text("弹出省市区"),onPressed: () async {Result result = await CityPickers.showCityPicker(context: context,cancelWidget:Text('取消', style: TextStyle(color: Colors.black54)),confirmWidget:Text("确定", style: TextStyle(color: Colors.blue)));},),SizedBox(height: 40),JdButton(text: "增加",color: Colors.red,)],),));}
}

AddressEdit.dart

import 'package:flutter/material.dart';
class AddressEditPage extends StatefulWidget {AddressEditPage({Key key}) : super(key: key);_AddressEditPageState createState() => _AddressEditPageState();
}class _AddressEditPageState extends State<AddressEditPage> {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('修改收货地址'),),body: Text('增加说活地址'),);}
}

AddressList.dart

import 'package:flutter/material.dart';
import 'package:flutter_jdshop/services/ScreenAdapter.dart';class AddressListPage extends StatefulWidget {AddressListPage({Key key}) : super(key: key);_AddressListPageState createState() => _AddressListPageState();
}class _AddressListPageState extends State<AddressListPage> {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('收货列表地址'),),body: Container(child: Stack(children: <Widget>[ListView(children: <Widget>[ListTile(leading: Icon(Icons.check, color: Colors.red),title: Column(crossAxisAlignment: CrossAxisAlignment.start,children: <Widget>[Text("张三 13325187796"),SizedBox(height: 10),Text('北京')]),trailing: Icon(Icons.edit, color: Colors.blue),)],),Positioned(bottom: 0,width: ScreenAdapter.width(750),height: ScreenAdapter.height(88),child: Container(padding: EdgeInsets.all(5),width: ScreenAdapter.width(750),height: ScreenAdapter.height(100),decoration: BoxDecoration(color: Colors.red,border: Border(top: BorderSide(width: 1, color: Colors.black26))),child: InkWell(child: Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[Icon(Icons.add, color: Colors.white),Text('增加收货地址', style: TextStyle(color: Colors.white))],),onTap: (){Navigator.pushNamed(context,'/addressAdd');},)),)],)),);}
}

JdText.dart

import 'package:flutter/material.dart';
import 'package:flutter_jdshop/services/ScreenAdapter.dart';
class JdText extends StatelessWidget {final String text;final bool password;final Object onChanged;final int maxLines;final double height;JdText({Key key,this.text="输入内容",this.password=false,this.onChanged=null,this.maxLines=1,this.height=68}) : super(key: key);@overrideWidget build(BuildContext context) {return Container(child: TextField(maxLines: this.maxLines,obscureText: this.password,decoration: InputDecoration(hintText: this.text,border: OutlineInputBorder(borderRadius: BorderRadius.circular(30),borderSide: BorderSide.none)),onChanged:this.onChanged,),height: ScreenAdapter.height(this.height),decoration: BoxDecoration(// color: Color.fromRGBO(233,233,233,0.8),// borderRadius: BorderRadius.circular(30)
        border: Border(bottom:BorderSide(width: 1,color: Colors.black12))),);}
}

转载于:https://www.cnblogs.com/yiweiyihang/p/11560412.html

39 Flutter仿京东商城项目 收货地址列表、增加 修改收货地址布局、弹出省市区选择器...相关推荐

  1. Github上开源仿京东商城项目-安装部署(二)

    Github上开源仿京东商城项目-安装部署(二) 2.用IntelliJ IDEA 2020打开项目,选择SuperMarket目录, 将会自动安装相关项目的依赖包,这个时间大约1个半小时. 3.安装 ...

  2. Github上开源仿京东商城项目启动配置详解(进阶版)

    说明: 以下配置流程仅供参考,欢迎留言沟通,谢谢. 1. 架构图 各位看官,咱开头先来一张项目架构图养养眼哈: 2. 我的环境 有的环境 github下载太慢,已备好,不谢. 名称 版本 项目版本 0 ...

  3. Flutter仿京东

    01-02 Flutter仿京东商城项目 功能分析.底部导航Tab切换以及路由配置.架构搭建:(Flutter仿京东商城项目 首页布局以及不同终端屏幕适配方案) 03Flutter仿京东商城项目 封装 ...

  4. 【android】高仿京东商城App,集成react-native热更功能

    简介 高仿京东商城项目具有完整的结构,代码整洁规范,结构清晰,集成React-Native热更功能,功能还在持续更新中-如果对你有帮助,给个star 使用kotlin语言开发,项目使用模块化开发,降低 ...

  5. Flutter-防京东商城项目-签名验证 增加收货地址、显示收货地址 事件广播-41

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹.靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希 ...

  6. 基于javaweb仿京东商城管理系统的设计与实现(含论文和程序源码及数据库文件)

    网上购物商城系统以弥补传统购物方式的弊端.在目前的商城里,如果采用网上商城方式,用户购物时就不需要到店里面排队,这样不仅能实时地了解商品的特色,而且方便了顾客,同时也减轻了商城的服务压力.随着WLAN ...

  7. Flutter-防京东商城项目-订单列表、订单详情页面布局-45

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹.靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希 ...

  8. 高仿京东商城app、集成react-native热更新功能

    简介 这是一个高仿京东商城的安卓项目,有完整的结构,代码整洁规范,结构清晰,集成React-Native热更功能 kotlin . retrofit2 + okhttp3 网络请求 .多模块 leak ...

  9. Flutter-防京东商城项目-创建商品数据模型 、请求Api接口渲染热门商品 推荐商品 获取数据然后模型赋值-06

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹.靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希 ...

最新文章

  1. iBATIS In Action:使用映射语句(一)
  2. 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...
  3. 《剑指offer》-- 栈的压入与弹出序列、把字符串转化为整数、扑克牌顺子、孩子们的游戏(圆圈中最后剩下的数)
  4. python树结构_Python-简单的树结构实现
  5. hibernate之工具类
  6. 展望2018:WebRTC技术现状、应用开发与前景
  7. Java里try catch的简单用法
  8. 使用GlassFish 3.1.2.2和Primefaces 3.4的JDBC领域和基于表单的身份验证
  9. 二十一天学通JavaScript:cookie的安全性
  10. Artstudio Pro Mac(绘图与图片编辑软件)特别版
  11. 格雷码的生成详解(C++)(附格雷码对照表)
  12. 【Unity3D插件】VOXL插件分享《多人沙盒游戏插件》
  13. 2018年10微型计算机接口技术,微机原理及接口技术
  14. 吐血推荐:VBScript教程及语言参考电子书
  15. 回归分析结果表格怎么填_excel回归分析结果解读
  16. Android之底部菜单栏的实现
  17. COSO内部控制框架
  18. 小程序(之音乐播放器实现思路)
  19. 分享143个ASP源码,总有一款适合您
  20. 一米OA漏洞学习——getfile.jsp 任意文件读取漏洞

热门文章

  1. 区块链技术改进身份和访问管理(IAM)的10种用例
  2. 用MATLAB求解非线性微分方程
  3. element-ui 去掉谷歌浏览器el-input组件或input自动填充账号密码
  4. 【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点气泡流向组合区域三级下钻地图
  5. 累加器使用的注意点及自定义累加器
  6. 金蝶云星空与飞书系统对接方案(飞书审批)
  7. QPSK调制解调仿真matlab
  8. 15. 程序员生存定律--使人生永动的势能
  9. 项目管理之关键链法VS关键路径法
  10. 重磅!全球Top 1000计算机科学家h指数公布:中国53位学者上榜