ProductContentFirst.dart

import 'package:flutter/material.dart';
import '../../widget/JdButton.dart';
import '../../services/ScreenAdaper.dart'; class ProductContentFirst extends StatefulWidget {
ProductContentFirst({Key key}) : super(key: key); _ProductContentFirstState createState() => _ProductContentFirstState();
} class _ProductContentFirstState extends State<ProductContentFirst> {
_attrBottomSheet() {
showModalBottomSheet(
context: context,
builder: (context) {
return GestureDetector(
//Gesture:手势 Detector:探测器
onTap: () {
return false;
},
child: Stack(
children: <Widget>[
Container(
padding: EdgeInsets.all(ScreenAdaper.width()),
child: ListView(
children: <Widget>[
Column(
children: <Widget>[
Wrap(
children: <Widget>[
Container(
width: ScreenAdaper.width(),
child: Padding(
padding: EdgeInsets.only(
top: ScreenAdaper.height()),
child: Text('颜色',
style: TextStyle(
fontWeight: FontWeight.bold)),
),
),
Container(
width: ScreenAdaper.width(),
child: Wrap(
children: <Widget>[
Container(
margin: EdgeInsets.all(),
child: Chip(
label: Text('白色'),
padding: EdgeInsets.all(),
),
),
Container(
margin: EdgeInsets.all(),
child: Chip(
label: Text('白色'),
padding: EdgeInsets.all(),
),
),
Container(
margin: EdgeInsets.all(),
child: Chip(
label: Text('白色'),
padding: EdgeInsets.all(),
),
),
],
),
)
],
),
],
)
],
),
),
Positioned(
bottom: ,
width: ScreenAdaper.width(),
height: ScreenAdaper.height(),
child: Row(
children: <Widget>[
Container(
width: ScreenAdaper.width(),
height: ScreenAdaper.height(),
child: Row(
children: <Widget>[
Expanded(
flex: ,
child: Container(
margin: EdgeInsets.fromLTRB(,,,),
child: JdButton(
color: Color.fromRGBO(, , , 0.9),
text: "加入购物车",
cb: () {
print('加入购物车');
},
),
),
),
Expanded(
flex: ,
child: Container(
margin: EdgeInsets.fromLTRB(,,,),
child: JdButton(
color: Color.fromRGBO(, , , 0.9),
text: "立即购物",
cb: () {
print('立即购物');
},
),
)
)
],
))
],
),
)
],
));
});
} @override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(),
child: ListView(
children: <Widget>[
AspectRatio(
aspectRatio: / ,
child: Image.network(
"https://www.itying.com/images/flutter/p1.jpg",
fit: BoxFit.cover,
)),
Container(
padding: EdgeInsets.only(top: ),
child: Text(
"联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad",
style: TextStyle(
color: Colors.black87, fontSize: ScreenAdaper.size())),
),
Container(
padding: EdgeInsets.only(top: ),
child: Text(
"联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad联想ThinkPad",
style: TextStyle(
color: Colors.black54, fontSize: ScreenAdaper.size())),
),
Container(
padding: EdgeInsets.only(top: ),
child: Row(
children: <Widget>[
Expanded(
flex: ,
child: Row(
children: <Widget>[
Text('特价'),
Text('¥28',
style: TextStyle(
color: Colors.red,
fontSize: ScreenAdaper.size()))
],
),
),
Expanded(
flex: ,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Text('原价'),
Text('¥50',
style: TextStyle(
color: Colors.black38,
fontSize: ScreenAdaper.size(),
decoration: TextDecoration.lineThrough))
],
),
)
],
),
),
//筛选:
Container(
margin: EdgeInsets.only(top: ),
height: ScreenAdaper.height(),
child: InkWell(
onTap: () {
_attrBottomSheet();
},
child: Row(
children: <Widget>[
Text('已选', style: TextStyle(fontWeight: FontWeight.bold)),
Text('115,黑色')
],
),
)),
Divider(),
Container(
height: ScreenAdaper.height(),
child: Row(
children: <Widget>[
Text('运费', style: TextStyle(fontWeight: FontWeight.bold)),
Text('免运费')
],
),
),
Divider()
],
));
}
}

20 Flutter仿京东商城项目 商品详情 底部弹出筛选属性 以及筛选属性页面布局的更多相关文章

  1. 19 Flutter仿京东商城项目 商品详情 底部浮动导航布局 商品页面布局

    效果: widget/JdButton.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.da ...

  2. 18 Flutter仿京东商城项目 商品详情顶部tab切换 顶部下拉菜单 底部浮动导航

    ProductContent.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; ...

  3. 21 Flutter仿京东商城项目 商品详情 请求接口渲染数据 商品属性数据渲染

    加群452892873 下载对应21可文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展.   cupertino_icons: ^0.1.2   flutter ...

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

    Flutter和Dart交流学习群:交流群:452892873 01Flutter仿京东商城项目 功能分析.底部导航Tab切换以及路由配置.架构搭建 02Flutter仿京东商城项目 首页布局以及不同 ...

  5. 12 Flutter仿京东商城项目 商品列表页面请求数据、封装Loading Widget、上拉分页加载更多

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  6. 13 Flutter仿京东商城项目 商品列表筛选以及上拉分页加载更多

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  7. 11 Flutter仿京东商城项目 商品列表页面二级筛选导航布局

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  8. 42 Flutter仿京东商城项目 修改默认收货地址 显示默认收货地址

    CheckOut.dart import 'package:flutter/material.dart'; import '../services/ScreenAdapter.dart'; impor ...

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

    加群452892873 下载对应41课文件,运行方法,建好项目,直接替换lib目录 AddressAdd.dart import 'package:dio/dio.dart'; import 'pac ...

随机推荐

  1. python采集websocket实时数据

    之前大部分的数据采集基本都是http的,也一直对如何采集websocket的实时数据有疑问,不知道入从哪里入手,一筹莫展,今天在知乎上看到了一篇采集websocket的文章,讲的很透彻 终于把这个疑问 ...

  2. 排序方法——python

    1.冒泡排序法(Bubble Sort) 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针对所 ...

  3. js中的in

    in这个操作符平时我们可能用的不多,但是一旦有需要我觉得还是很有用的,昨天在in操作符中栽了一个坑,写个博客纪念一下 var json = {a:1,b:2,c:3}; console.log('a' ...

  4. Git学习笔记08-远程仓库

    因为想在家里和公司都能用到一套代码,所以选择上传到github,记录一下使用经验. 需要安装git,和注册github 以下操作是第一次将自己的代码上传到GitHub上 1)创建github项目 1. ...

  5. zznu-oj-2134- 发红包!!!-【多项式加法,模拟题目】

    2134: 发红包!!! 题目描述 给你两个最简多项式,请输出两个多项式相加后的结果.给定的多项式的格式为ax^num1+bx^num2+...其中x前面的a,b代表系数num代表指数(次方数),输入 ...

  6. linux ps sample

    ps -ef|grep "myswooleserver.php"| grep -v "grep" | wc -l cpc@cpc-Aspire-:~/Downl ...

  7. 2019HDU多校第三场 K subsequence——最小费用最大流

    题意 给定一个 $n$ 个整数的数列,从中至多选取 $k$ 个上升子序列(一个元素最多被选一次),使得选取的元素和最大. 分析 考虑这个问题和经典网络流问题“最长不下降子序列”相似,我们考虑对这个建图 ...

  8. C# Contract诊断

    命名空间 : using System.Diagnostics.Contracts; 属性标记 : [ContractOption(category: "runtime", set ...

  9. C# 动态加载程序集

    定义动态程序集 namespace DynamicAssembly { public class CodeDriver : MarshalByRefObject { private string pr ...

  10. currentTimeMillis与 nanoTime

    时间单位换算 1s=10^3ms(毫秒)=10^6μs(微秒)=10^9ns(纳秒)=10^12ps(皮秒)=10^15fs(飞秒)=10^18as(阿秒)=10^21zm(仄秒)=10^24ym(幺 ...