Flutter 刷新指示器不使用NestedScrollView @覆盖 小部件构建(构建上下文){ super.build(上下文); SystemChrome.setEnabledsystemioverlays(SystemUiOverlay.values); 德雷吉翁酒店( 值:SystemUIOverlyStyle( statusBarColor:Colors.transparent, ), 孩子:脚手架( 密钥:_scaffoldKeyProfile页面, 正文:DefaultTabController( 长度:2, 子:刷新指示器( onRefresh:\u onRefresh, 子:嵌套滚动视图( headerSliverBuilder:(上下文){ 返回[ 银表( 委托:SliverChildListDelegate( [BuildMainProfile]( ....// ), 填充物( …//另一种设计 ), ]; }, //您可以在这里查看选项卡 正文:专栏( 儿童:[ 塔巴( 选项卡:[ 选项卡(文本:“A”), 选项卡(文本:“B”), ], ), 扩大( 子项:选项卡视图( 儿童:[ 建筑柱(, ), 建筑之翼() ], ), ), ], ), ),), ), }

Flutter 刷新指示器不使用NestedScrollView @覆盖 小部件构建(构建上下文){ super.build(上下文); SystemChrome.setEnabledsystemioverlays(SystemUiOverlay.values); 德雷吉翁酒店( 值:SystemUIOverlyStyle( statusBarColor:Colors.transparent, ), 孩子:脚手架( 密钥:_scaffoldKeyProfile页面, 正文:DefaultTabController( 长度:2, 子:刷新指示器( onRefresh:\u onRefresh, 子:嵌套滚动视图( headerSliverBuilder:(上下文){ 返回[ 银表( 委托:SliverChildListDelegate( [BuildMainProfile]( ....// ), 填充物( …//另一种设计 ), ]; }, //您可以在这里查看选项卡 正文:专栏( 儿童:[ 塔巴( 选项卡:[ 选项卡(文本:“A”), 选项卡(文本:“B”), ], ), 扩大( 子项:选项卡视图( 儿童:[ 建筑柱(, ), 建筑之翼() ], ), ), ], ), ),), ), },flutter,flutter-layout,Flutter,Flutter Layout,刷新指示器不适用于NestedScrollView,是否有方法实现RefreshIndicator? 我尝试在堆栈中添加一个空的ListView,刷新指示器开始显示,但正因为如此,我的NestedScrollView没有滚动。您是否尝试将NestedScrollView小部件物理设置为AlwaysScrollableScrollPhysics() 有关详细信息,请参阅文档 刷新指示器不显示 如果其可滚动的子代可以显示,则会显示RefreshIndicator 过度滚动,即如果滚动条的内容大于其

刷新指示器不适用于NestedScrollView,是否有方法实现RefreshIndicator?
我尝试在堆栈中添加一个空的ListView,刷新指示器开始显示,但正因为如此,我的NestedScrollView没有滚动。

您是否尝试将
NestedScrollView
小部件
物理
设置为
AlwaysScrollableScrollPhysics()

有关详细信息,请参阅文档

刷新指示器不显示

如果其可滚动的子代可以显示,则会显示RefreshIndicator 过度滚动,即如果滚动条的内容大于其 视口。确保刷新指示器始终显示,即使 如果可滚动的内容适合其视口,请设置 scrollable的scrollable.physics属性为 始终滚动滚动物理

@override
  Widget build(BuildContext context) {
    super.build(context);

    SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
    return AnnotatedRegion<SystemUiOverlayStyle>(
      value: SystemUiOverlayStyle(
        statusBarColor: Colors.transparent,
      ),
      child: Scaffold(
     key: _scaffoldKeyProfilePage,

      body: DefaultTabController(
        length: 2,
 child:RefreshIndicator(
          onRefresh: _onRefresh,
        child: NestedScrollView(
          
            headerSliverBuilder: (context, _) {
              return [
                SliverList(
                delegate: SliverChildListDelegate(
                 [                 BuildMainProfile(
              ....//
                 ),
                 Padding(
                ...//another design 
                 ), 
                
              ];
            },
            // You tab view goes here
            body: Column(
              children: <Widget>[
                TabBar(
              tabs: [
                Tab(text: 'A'),
                Tab(text: 'B'),
              ],
                ),
                Expanded(
              child: TabBarView(
                children: [
                  BuildPost(,

                  ),
                 BuildWings()
                ],
              ),
                ),
              ],
            ),
          ),),
      ),

  }

刷新指示器只能与垂直滚动视图一起使用


它部分工作。问题是我甚至有一个底部导航栏,所以没有它,它可以工作,但有了它,它不会工作有点混乱,请您使用什么工作和什么不工作的名称,而不是说它工作和它不工作。如果我没有底部导航栏,我可以看到刷新指示器,但有了bottom、 导航栏它再次没有显示刷新指示器。需要一些最小的可复制代码。您上面的代码甚至没有底部导航栏。
ListView(   
physics: const AlwaysScrollableScrollPhysics(),  
children: ... )