标签栏内容在创建带有标签的折叠工具栏时向上滚动直到状态栏

问题描述

我正在尝试实现带有标签的折叠工具栏。滚动选项卡的内容时,不会停留在选项卡的底部,而是向上滚动直到状态栏。

我不确定我到底在做什么错。我想得到您的帮助来解决此问题。

这是代码段:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mobile/src/data/model/order_response.dart';
import 'package:mobile/src/widget/order_view.dart';

class OrderDetailPage extends StatefulWidget {
  final OrderResponse item;

  OrderDetailPage(this.item);

  @override
  _OrderDetailPageState createState() => _OrderDetailPageState();
}

class _OrderDetailPageState extends State<OrderDetailPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: DefaultTabController(
        length: 2,child: NestedScrollView(
            headerSliverBuilder:
                (BuildContext context,bool innerBoxIsScrolled) {
              return <Widget>[
                SliverAppBar(
                  backgroundColor: Colors.black12,elevation: 0.0,expandedHeight: 230,floating: false,pinned: true,flexibleSpace: FlexibleSpaceBar(
                    collapseMode: CollapseMode.parallax,background: Align(
                      alignment: Alignment.bottomCenter,child: Container(
                        child: Column(
                          children: [
                            SizedBox(
                              height: 90,),OrderListItemView(widget.item,null)
                          ],SliverPersistentHeader(
                  pinned: true,delegate: _SliverAppBarDelegate(
                    TabBar(
                      labelColor: Colors.black87,unselectedLabelColor: Colors.grey,tabs: [
                        new Tab(text: "Instant Match"),new Tab(text: "Requests"),],)
              ];
            },body: new TabBarView(
              children: <Widget>[
                Text(
                  'This content should stick to the bottom of tab bar',style: TextStyle(fontSize: 24),Text('This content should stick to the bottom of tab bar')
              ],)),);
  }

  void _onClickMenu(String value) {}
}

class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate {
  _SliverAppBarDelegate(this._tabBar);

  final TabBar _tabBar;

  @override
  double get minExtent => _tabBar.preferredSize.height;

  @override
  double get maxExtent => _tabBar.preferredSize.height;

  @override
  Widget build(
      BuildContext context,double shrinkOffset,bool overlapsContent) {
    return new Container(
      child: _tabBar,);
  }

  @override
  bool shouldRebuild(_SliverAppBarDelegate oldDelegate) {
    return false;
  }
}

电流输出:

enter image description here

在所需的输出中,内容应粘贴在标签栏的底部。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...