Flutter的SingleChildScrollView怎么使用(flutter,SingleChildScrollView,开发技术)

时间:2024-04-28 04:47:25 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

SingleChildScrollView

SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下:

constSingleChildScrollView({Keykey,this.scrollDirection=Axis.vertical,//是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左)。//reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”。this.reverse=false,this.padding,//指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true.boolprimary,this.physics,this.controller,this.child,this.dragStartBehavior=DragStartBehavior.start,}):assert(scrollDirection!=null),assert(dragStartBehavior!=null),assert(!(controller!=null&&primary==true),'PrimaryScrollViewsobtaintheirScrollControllerviainheritancefromaPrimaryScrollControllerwidget.''Youcannotbothsetprimarytotrueandpassanexplicitcontroller.'),primary=primary??controller==null&&identical(scrollDirection,Axis.vertical),super(key:key);

除了在简介我们介绍过的可滚动组件的通用属性外,我们重点看一下reverse和primary两个属性:

  • reverse:该属性API文档解释是:是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左)。reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,可以自己试验。

  • primary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true

需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。

示例:

下面是一个将大写字母A-Z沿垂直方向显示的例子,由于垂直方向空间会超过屏幕视口高度,所以我们使用SingleChildScrollView:

classSingleChildScrollViewTestRouteextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){Stringstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";returnScrollbar(//显示进度条child:SingleChildScrollView(padding:EdgeInsets.all(16.0),child:Center(child:Column(//动态创建一个List<Widget>children:str.split("")//每一个字母都用一个Text显示,字体为原来的两倍.map((c)=>Text(c,textScaleFactor:2.0,)).toList(),),),),);}}

运行效果如图:

Flutter的SingleChildScrollView怎么使用

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Flutter的SingleChildScrollView怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:SpringBoot2的JUnit5与指标监控怎么使用下一篇:

19 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18