Flutter的FlexibleSpaceBar

本文探讨了Flutter中FlexibleSpaceBar组件的使用,它在创建响应式布局时提供灵活的顶部空间。配合图片展示,详细解释了如何利用FlexibleSpaceBar实现动态头部效果。
部署运行你感兴趣的模型镜像

Flutter的FlexibleSpaceBar

  1. FlexibleSpaceBar
// FlexibleSpaceBar
class FlexibleSpaceBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return NestedScrollView(
        headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
          return <Widget>[
            SliverAppBar(
              // 展开高度
              expandedHeight: 250.0,
              // 是否随着滑动隐藏标题
              floating: true,
              // 是否固定在顶部
              pinned: true,
              // 可折叠的应用栏目
              flexibleSpace: FlexibleSpaceBar(
                centerTitle: true,
                title: Text('可折叠的标题', style: TextStyle(color: Colors.white),),
                background: Image.network('https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2288748976,1582581638&fm=26&gp=0.jpg', fit: BoxFit.cover,),
              ),
            )
          ];
        },
        body: Center(
          child: Text('向上提拉,查看效果'),
        )
    );
  }
}
  1. 图片展示
    在这里插入图片描述
    在这里插入图片描述

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### 如何在 Flutter 中使用 `ScrollView` 组件 #### 使用 `ListView` 对于简单的垂直滚动列表,推荐使用 `ListView`。此组件非常适合展示一维数据集。 ```dart import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @Override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text('ListView Example')), body: ListView( children: [ ListTile(title: Text('Item 1')), ListTile(title: Text('Item 2')), // 更多项目... ], ), ), ); } } ``` [^1] #### 创建自定义滚动视图 (`CustomScrollView`) 当需要更复杂的布局结构时,比如混合不同类型的子部件并希望它们共享同一个滚动轴线,则应考虑采用 `CustomScrollView` 和其内部的 sliver 子部件来构建页面。 ```dart import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @Override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData(primarySwatch: Colors.blue), home: CustomScrollViewExample(), ); } } class CustomScrollViewExample extends StatelessWidget { @Override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('CustomScrollView with Slivers')), body: CustomScrollView(slivers: <Widget>[ SliverAppBar( pinned: true, expandedHeight: 150.0, flexibleSpace: FlexibleSpaceBar( title: Text('Sliver App Bar'), background: Image.network( "https://via.placeholder.com/350x150", fit: BoxFit.cover, )), ), SliverGrid.count( crossAxisSpacing: 10, mainAxisSpacing: 10, crossAxisCount: 2, children: List.generate(20, (index) { return Container( color: Colors.teal[100 * ((index % 8) + 1)], child: Center(child: Text('Tile $index')), ); }), ) ]), ); } } ``` [^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值