滑动布局-ScrollView、SingleChildScrollView 、ListView 、GridView

滑动布局-ScrollView、SingleChildScrollView 、ListView 、GridView

可滑动的Widget-ScrollView

我在用Column进行布局的时候,由于子节点过多,导致出现了OverFlow的提示,这个就是告诉我们内容超出范围了,这个在Android里来做就不会给你提示了,他会直接截取掉,不显示,为了解决这个错误我第一时间想到的就是像Android一样给他套一个ScrollView,Flutter的ScrollView不是一个可以直接使用的滑动widget,他是一个抽象类,这里记录一下ScrollView的一些属性,也是相当于记录了ScrollView子类的一些共性参数

ScrollView({
  Key key,
  this.scrollDirection = Axis.vertical,
  this.reverse = false,
  this.controller,
  bool primary,
  ScrollPhysics physics,
  this.shrinkWrap = false,
  this.center,
  this.anchor = 0.0,
  this.cacheExtent,
  this.semanticChildCount,
  this.dragStartBehavior = DragStartBehavior.start,
})

scrollDirection: 设置滑动的方向,水平方向或者竖直方向
reverse:是否安装阅读方向相反的方向滑动,默认为false,这个参数就是说我的初始位置是在哪,这个会根据语言环境来改变的,比说国语的阅读方向是从左到右,那么他的起始点就在左边,如果将参数设置为true,表示按阅读方向相反的方向滑动,那么他的起始点就在右边,直接看图可能会好一些

 SingleChildScrollView(
        reverse: true,
        scrollDirection: Axis.horizontal,
        child: Row(
        mainAxisAlignment: MainAxisAlignment.end,
        children: <Widget>[
          Text(
            "编号:",
            style: TextStyle(color: Colors.red),
          ),
          Text("头0000000000001 "),

          Text("0000000000001 00000000000010000000000001000000000000100000000000010000000000001000000000000100000000000010000000000001000000000000100000000000010000000000001000000000000尾")
            ,

        ],
      ),
)
  • 默认的情况,不设置或设置为false的情况下

image-20190627153520267.png

  • 设置为true的情况下,我一进来看到的就是尾部,就是Row中的最后端

image-20190627153357835.png

controller:接收一个ScrollController(默认是用PrimaryScrollController)这个参数是用于控制滚动位置和监听滚动事件,具体用法看后续
primary :是否使用默认的PrimaryScrollController
physics :决定滑动widget如何响应用户的操作,由于滑动列表滑动到边界的时候会出现一些效果,Android与iOS是不一样的,所以我们可以通过这个参数来设置统一效果ClampingScrollPhysics:Android下微光效果。BouncingScrollPhysics:iOS下弹性效果
shrinkWrap:该属性决定是否根据子widget的长度来决定滚动范围,默认情况下为false,默认情况下,滚动范围会尽可能的占据位置,但是如果滚动视图

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值