Android 颤振中可滚动列中的4个水平列表视图

Android 颤振中可滚动列中的4个水平列表视图,android,flutter,listview,dart,flutter-layout,Android,Flutter,Listview,Dart,Flutter Layout,我需要在一个垂直滚动列中有4个可滚动的水平列表视图。 我一次又一次地尝试了多种方法,但是垂直滚动似乎不起作用。 这就是我想要的布局 Container( padding: EdgeInsets.all(20), child: SingleChildScrollView( scrollDirection: Axis.vertical, child: Column( mainAxisSize: Main

我需要在一个垂直滚动列中有4个可滚动的水平列表视图。 我一次又一次地尝试了多种方法,但是垂直滚动似乎不起作用。 这就是我想要的布局

Container(
 padding: EdgeInsets.all(20),
          child: SingleChildScrollView(
            scrollDirection: Axis.vertical,
            child: Column(
              mainAxisSize: MainAxisSize.min,
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: [
               Align(
                  alignment: Alignment.bottomLeft,
                  child: Text("Some Text",style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18
                  ),),
                ),
                SizedBox(height:10),
                Container(
                    height: MediaQuery.of(context).size.height/6.8,
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        shrinkWrap: true,
                        itemCount: snapshot.data.length,
                        itemBuilder: (context, index){
                          return widget(
                              );
                       }),
                  ),
                  Align(
                  alignment: Alignment.bottomLeft,
                  child: Text("Some Text",style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18
                  ),),
                ),
                SizedBox(height:10),
                Container(
                    height: MediaQuery.of(context).size.height/6.8,
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        shrinkWrap: true,
                        itemCount: snapshot.data.length,
                        itemBuilder: (context, index){
                          return widget(
                              );
                       }),
                  ),Align(
                  alignment: Alignment.bottomLeft,
                  child: Text("Some Text",style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18
                  ),),
                ),
                SizedBox(height:10),
                Container(
                    height: MediaQuery.of(context).size.height/6.8,
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        shrinkWrap: true,
                        itemCount: snapshot.data.length,
                        itemBuilder: (context, index){
                          return widget(
                              );
                       }),
                  ),Align(
                  alignment: Alignment.bottomLeft,
                  child: Text("Some Text",style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18
                  ),),
                ),
                SizedBox(height:10),
                Container(
                    height: MediaQuery.of(context).size.height/6.8,
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        shrinkWrap: true,
                        itemCount: snapshot.data.length,
                        itemBuilder: (context, index){
                          return widget(
                              );
                       }),
                  ),Align(
                  alignment: Alignment.bottomLeft,
                  child: Text("Some Text",style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18
                  ),),
                ),
                SizedBox(height:10),
                Container(
                    height: MediaQuery.of(context).size.height/6.8,
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        shrinkWrap: true,
                        itemCount: snapshot.data.length,
                        itemBuilder: (context, index){
                          return widget(
                              );
                       }),
                  ),
);
谁能告诉我我做错了什么? 我已经在这里面呆了很长时间了。
水平列表确实滚动,但垂直滚动不起作用。

尝试使用
SingleChildScrollView
Row
而不是
ListView

比如说,

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("4 Horizontals"),
      ),
      body: SafeArea(
        child: SingleChildScrollView(
          child: Column(
            children: [
              SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                child: Row(
                  children: List.generate(10, (index) => getWid()),
                ),
              ),
              SizedBox(height: 10),
              SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                child: Row(
                  children: List.generate(10, (index) => getWid()),
                ),
              ),
              SizedBox(height: 10),
              SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                child: Row(
                  children: List.generate(10, (index) => getWid()),
                ),
              ),
              SizedBox(height: 10),
              SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                child: Row(
                  children: List.generate(10, (index) => getWid()),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }

  Widget getWid() {
    return Container(
      color: Colors.pink,
      width: 200,
      height: 200,
      padding: EdgeInsets.all(10),
      margin: EdgeInsets.all(5),
      child: Center(
        child: Text(
          "Hello",
          style: TextStyle(
            color: Colors.white,
            fontSize: 30
          ),
        ),
      ),
    );
  }
}

尽管我不得不采取不同的方法,但您的回答确实帮助我发现了原始代码的问题。谢谢