Flutter:常见的页面布局:上边内容可滚动,底部固定一个按钮 ...

打印 上一主题 下一主题

主题 820|帖子 820|积分 2460

常见的布局,内容地区可滚动,底部固定按钮

  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_aidishi/extension/index.dart';
  3. import 'package:flutter_screenutil/flutter_screenutil.dart';
  4. import 'package:get/get.dart';
  5. import 'package:tdesign_flutter/tdesign_flutter.dart';
  6. import 'package:flutter_swiper_null_safety/flutter_swiper_null_safety.dart';
  7. import 'index.dart';
  8. class GoodsDetailPage extends GetView<GoodsDetailController> {
  9.   const GoodsDetailPage({super.key});
  10.   //  轮播图
  11.   Widget _buildBanner() {
  12.     return Container(
  13.       width: 375.w,
  14.       height: 500.w,
  15.       color: Colors.blue,
  16.       child: Text("轮播图"),
  17.     );
  18.   }
  19.   // 商品信息
  20.   Widget _buildGoodsName() {
  21.     return Container(
  22.       width: 375.w,
  23.       height: 500.w,
  24.       color: Colors.blue,
  25.       child: Text("商品信息"),
  26.     );
  27.   }
  28.   // 商品详情
  29.   Widget _buildGoodsDetail() {
  30.     return Container(
  31.       width: 375.w,
  32.       height: 500.w,
  33.       color: Colors.blue,
  34.       child: Text("商品详情"),
  35.     );
  36.   }
  37.   // 底部悬浮按钮
  38.   Widget _buildGoodsFoot() {
  39.     return Container(
  40.       width: 375.w,
  41.       height: 50.w,
  42.       color: Colors.white,
  43.       child: Text("底部悬浮按钮"),
  44.     );
  45.   }
  46.   // 顶部的可滚动内容:SingleChildScrollView
  47.   Widget _buildTop(){
  48.     return SingleChildScrollView(
  49.       child: <Widget>[
  50.         _buildBanner(),
  51.         SizedBox(height: 15.w,),
  52.         _buildGoodsName(),
  53.         _buildGoodsDetail(),
  54.       ].toColumn(),
  55.     );
  56.   }
  57.   // 主视图
  58.   Widget _buildView() {
  59.     return <Widget>[
  60.       _buildTop().expanded(),
  61.       _buildGoodsFoot()
  62.     ].toColumn();
  63.   }
  64.   @override
  65.   Widget build(BuildContext context) {
  66.     return GetBuilder<GoodsDetailController>(
  67.       init: GoodsDetailController(),
  68.       id: "goods_detail",
  69.       builder: (_) {
  70.         return Scaffold(
  71.           appBar: AppBar(title: const Text("goods_detail")),
  72.           body: _buildView(),
  73.           backgroundColor: Color(0xffF6F6F6),
  74.         );
  75.       },
  76.     );
  77.   }
  78. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表