美文网首页iOS 技巧
Flutter开发 Column和GridView嵌套冲突解决

Flutter开发 Column和GridView嵌套冲突解决

作者: 歐陽公子 | 来源:发表于2021-02-02 15:23 被阅读0次

    我们经常会使用到GridView进行布局类似于iOS的CollectionView,可以实现网格状的布局。

    但是会经常遇到一个问题,如果想和Column进行嵌套布局的时候,需要和GridView上面布局UI的时候会报错。

    ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════

    I/flutter ( 5969): The following assertion was thrown during performResize():

    I/flutter ( 5969): Vertical viewport was given unbounded height.

    I/flutter ( 5969): Viewports expand in the scrolling direction to fill their container.In this case, a vertical

    I/flutter ( 5969): viewport was given an unlimited amount of vertical space in which to expand. This situation

    I/flutter ( 5969): typically happens when a scrollable widget is nested inside another scrollable widget.

    I/flutter ( 5969): If this widget is always nested in a scrollable widget there is no need to use a viewport because

    I/flutter ( 5969): there will always be enough vertical space for the children. In this case, consider using a Column

    I/flutter ( 5969): instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size

    I/flutter ( 5969): the height of the viewport to the sum of the heights of its children.

    当出现这种情况,GridView必须设置一个固定高度,可以使用SingleChildScrollView将Column和GridView处于同一层级下,并且设置GridView属性

    GridView.count(

      shrinkWrap:true,

    ),

    GridView.count(

      physics: NeverScrollableScrollPhysics(), // 处理GridView中滑动父级SingleChildScrollView无法滑动

    )

    即可解决嵌套无法进行滑动和未设置高度报错问题。

    相关文章

      网友评论

        本文标题:Flutter开发 Column和GridView嵌套冲突解决

        本文链接:https://www.haomeiwen.com/subject/cnsytltx.html