[已解决]消除Flutter Sliver之间存在的间隙

在使用NestedScrollView构建嵌套布局时,Flutter的Sliver之间存在约1px的间隙,使用下述方案解决:

加入boxShadow掩盖即可:

NestedScrollView{
	headerSliverBuilder:
                  (BuildContext context, bool innerBoxIsScrolled) {
                  return [
                  SliverPersistentHeader(
                      pinned: true,
                      delegate: SliverXXXDelegate.fixedHeight(
                        child: Container(
                          padding: EdgeInsets.only(
                              top: MediaQuery.of(context).padding.top),
                          decoration:
                              BoxDecoration(color: Colors.white, 
                              boxShadow: [
                            	BoxShadow(
                             	 color: Colors.white,
                             	 blurRadius: 0.0,
                             	 spreadRadius: 0.0,
                              	offset: Offset(0, 2),
                            ),
                          ]),
                          child:...
                          ),
                        ),
                      )),
                  SliverPersistentHeader(
                      pinned: true,
                      delegate: SliverXXXDelegate.fixedHeight(
                        child: Container(
                          padding: EdgeInsets.only(
                              top: MediaQuery.of(context).padding.top),
                          decoration:
                              BoxDecoration(color: Colors.white, boxShadow: [
                            BoxShadow(
                              color: Colors.white,
                              blurRadius: 0.0,
                              spreadRadius: 0.0,
                              offset: Offset(0, 2),
                            ),
                          ]),
                          child:...
                          ),
                        ),
                      )),				
                      ];
	},
	body:
		{...}
}

参考资料

https://github.com/flutter/flutter/issues/37578#issuecomment-640302364

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值