Android 如何使我的Flitter中的ListView可滚动?

Android 如何使我的Flitter中的ListView可滚动?,android,ios,flutter,listview,cross-platform,Android,Ios,Flutter,Listview,Cross Platform,我是个新手。我正在尝试建立一个卡应用程序,我有一个每个卡套件的列表视图。我刚刚意识到,当我将屏幕翻转到横向模式时,会出现溢出错误。我想这会很好,因为我有一个列表视图。但是没有。所以我把它翻回到了肖像,加了一些大的文字,看看它是否会滚动,但令我惊讶的是它没有 我做了一些研究并添加了物理:constAlwaysScrollableScrollPhysics(),,但仍然不起作用。感谢您的帮助 ListView( scrollDirection: Axis.vertical, physics:

我是个新手。我正在尝试建立一个卡应用程序,我有一个每个卡套件的列表视图。我刚刚意识到,当我将屏幕翻转到横向模式时,会出现溢出错误。我想这会很好,因为我有一个列表视图。但是没有。所以我把它翻回到了肖像,加了一些大的文字,看看它是否会滚动,但令我惊讶的是它没有

我做了一些研究并添加了
物理:constAlwaysScrollableScrollPhysics(),
,但仍然不起作用。感谢您的帮助

ListView(
  scrollDirection: Axis.vertical,
  physics: const AlwaysScrollableScrollPhysics(),
  shrinkWrap: true,
  children: [
    for (var item in suites)
      Text('test', style: TextStyle(fontSize: 100.0),),
    for (var item in suites)
      FlatButton(
        onPressed: () {
          var suiteId = item.suiteId;
          var suite = item.suite;
          var suiteImage = item.suiteImage;
          var suiteColor = item.suiteColor;

          print(suiteColor);

          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => SuiteScreen(
                suiteId: suiteId,
                suite: suite,
                suiteImage: suiteImage,
                suiteColor: suiteColor,
              ),
            ),
          );
        },
        child: ListTile(
          leading: Icon(Icons.deck),
          title: Text(
            item.suite,
            style: TextStyle(
              fontSize: 30.0,
            ),
          ),
        ),
      ),
  ],
);

答案很简单!只需用扩展的小部件包装调用listview的容器

试试这段代码

您可以使用下面的代码在颤振中实现可滚动的行

对于可滚动列,只需将列与行一起更改即可

SingleChildScrollView(
  scrollDirection: Axis.horizontal,
  child: Row(
   children: <Widget>[
     Text('hi'),
     Text('hi'),
     Text('hi'),
   ]
  )
)
SingleChildScrollView(
滚动方向:轴水平,
孩子:排(
儿童:[
文本(“hi”),
文本(“hi”),
文本(“hi”),
]
)
)

只需使用SingleChildScrollView小部件包装您的listview,然后它就可以正常工作了。你可以复制粘贴下面的代码

SingleChildScrollView(
  child: ListView(
  scrollDirection: Axis.vertical,
  physics: const AlwaysScrollableScrollPhysics(),
  shrinkWrap: true,
  children: [
    for (var item in suites)
      Text('test', style: TextStyle(fontSize: 100.0),),
    for (var item in suites)
      FlatButton(
        onPressed: () {
          var suiteId = item.suiteId;
          var suite = item.suite;
          var suiteImage = item.suiteImage;
          var suiteColor = item.suiteColor;

          print(suiteColor);

          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => SuiteScreen(
                suiteId: suiteId,
                suite: suite,
                suiteImage: suiteImage,
                suiteColor: suiteColor,
              ),
            ),
          );
        },
        child: ListTile(
          leading: Icon(Icons.deck),
          title: Text(
            item.suite,
            style: TextStyle(
              fontSize: 30.0,
            ),
          ),
        ),
      ),
    ],
  )
);