Flutter:Listview水平动态高度

r1zk6ea1  于 2023-03-24  发布在  Flutter
关注(0)|答案(1)|浏览(182)

我有水平listivew内垂直listview

ListView(
 children: [
          Container(
          height: MediaQuery.of(context).size.height/3.3, ///how can i make this dynamic
          child: ListView.builder(
            shrinkWrap: true,
            controller: _scrollController,
            scrollDirection: Axis.horizontal,
            itemCount: newlyProduct.length,
            itemBuilder: (context , index) => 
          ),
        ),
 ]
)

当我在手机上运行应用程序时,它工作正常,但当我在iPad上运行它时,我得到了overflow
我如何使它与动态高度运行应用程序在任何屏幕尺寸

cbjzeqam

cbjzeqam1#

我不知道你说的动态是什么意思,因为它已经是基于你的代码的动态:水平ListViewheight基于设备屏幕的高度,使其成为动态的。
如果要避免Y轴上的溢出问题,则需要确保ListView的任何子节点都没有比其父节点高的height集合。
你也可以使用flex,将你的ListView封装到column中,然后使用expanded

ListView(
  children: [
    Container(
      height: MediaQuery.of(context).size.height/3.3,
      child: Column(
        children: [
          Expanded(
            child: ListView.builder(
              shrinkWrap: true,
              controller: _scrollController,
              scrollDirection: Axis.horizontal,
              itemCount: newlyProduct.length,
              itemBuilder: (context , index) => 
            ),
          ),
        ],
      ),
    ),
 ]
)

相关问题