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. IMSI-catcher:可发现附近手机敏感信息的工具

      严正声明:该工具主要是为了让大家更好的了解GSM网络的工作原理而设计开发的,请不要用于恶意目的! 前言 IMSI-catcher是一个可以帮助你发现附近手机的IMSI号码,国家,品牌和运营商等信息 ...

  2. NUC970 Linux CAN 驱动问题及解决办法之一

    开发平台介绍: NUC970 + 内置CAN控制器(双通道CAN1\CAN2) + 官方Linux_Kernel(少量修改) 名词: 版本A,问题及修改涉及两个版本,其中最旧版本称为版本A 版本B,问 ...

  3. java实战(一)-------jdk环境在windows安装及配置

    1.jdk官方下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html 点击下载windows的版本:jdk-13.0 ...

  4. springboot中访问html页面

    springboot中如果想访问html页面,不每访问一个页面就写一个Controller,可以统一写一个公共的controller方法 代码: (1)引入hutool工具依赖 <!-- hut ...

  5. 2018/7/31-zznu-oj-问题 F: 手机密码--【裸dfs+for循环即可!——据说三个小时内只有两个人读完了题意并轻松AC了】

    问题 F: 手机密码 时间限制: 1 Sec  内存限制: 128 MB提交: 41  解决: 23[提交] [状态] [讨论版] [命题人:admin] 题目描述 手机安全问题是大家经常关心的一个问 ...

  6. mysql中对表操作----为所有列插入数据

         为所有列插入数据 通常情况下,向数据表中插入数据应包含表中所有字段,也就是为表中所有字段添加数据,为表中所有字段添加数据有以下两种方式. 1.INSERT语句中指定所有字段名 使用INSER ...

  7. vscode 中 vue项目使用eslint插件 检查代码

    前言 本文章项目由vue-cli3创建 vscode版本1.36.1 eslint1.9.0 在网上找了一大堆文章,不知是什么原因,没有一篇可以直接使用的 折腾了许久,直接按eslint插件的说明,竟 ...

  8. Spring Boot常用的注解

    @SpringBootApplication:包含@Configuration.@EnableAutoConfiguration.@ComponentScan通常用在主类上.由于大量项目都会在主要的配 ...

  9. Vue引入非npm的js库

    Vue引入非npm的js库 Vue项目有时候需要一些没有export的js库,不能通过import引入,那么使用方法如下 1.可以在index.html页面使用script标签引入,当然也可以使用cd ...

  10. [SaSS] Using Object like style to create class dynamiclly

    $black: #; $white: #fff; $yellow: #ffe183; $dark-red: #e70404; $dark-green: #0d8268; $cloud-blue: #d ...