首页 > 解决方案 > 防止 FlexibleSpaceBar 在折叠和浮动为真时隐藏

问题描述

为了在用户向上滚动时扩展我的灵活空格键,我在相应的 SliverAppBar 上将浮动设置为 true。但是当弹性空格键被折叠时,它的不透明度会从 1 变为 0:

在此处输入图像描述

我的代码如下

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: Scaffold(
          body: CustomScrollView(
            slivers: <Widget>[
              SliverAppBar(
                pinned: true,
                floating: true,
                backgroundColor: Colors.green,
                expandedHeight: 200.0,
                flexibleSpace: FlexibleSpaceBar(
                  titlePadding: EdgeInsets.all(0.0),
                  title: Text('test'),
                ),
              ),
              SliverFixedExtentList(
                itemExtent: 150.0,
                delegate: SliverChildListDelegate(
                  [
                    Container(color: Colors.red),
                    Container(color: Colors.purple),
                    Container(color: Colors.green),
                    Container(color: Colors.orange),
                    Container(color: Colors.yellow),
                    Container(color: Colors.pink),
                    Container(color: Colors.red),
                    Container(color: Colors.purple),
                    Container(color: Colors.green),
                    Container(color: Colors.orange),
                    Container(color: Colors.yellow),
                    Container(color: Colors.pink),
                  ],
                ),
              ),
            ],
          )
      ),
    );
  }
}

如果我仍然想要浮动效果,如何防止我的灵活空格键在折叠时隐藏?

标签: flutterexpandablelistviewappbarflutter-sliver

解决方案


我已经尝试过您共享的代码,但里面的文本SliverAppBar并没有改变它的不透明度。我目前正在运行 Flutter 2.2.1 版。

在此处输入图像描述

我还检查了是否可能存在与此问题相关的旧错误,但我没有发现任何东西。我建议尝试使用最新版本的 Flutter 再次运行相同的代码来解决问题。


推荐阅读