【问题标题】:Try to create Nested Listview in flutter尝试在颤振中创建嵌套列表视图
【发布时间】:2021-02-06 10:55:41
【问题描述】:

我尝试制作嵌套 ListView ,父列表视图垂直滚动,子列表水平滚动但抛出此错误:

[错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常: 'package:flutter/src/rendering/mouse_tracking.dart':断言失败: 第 301 行 pos 12: '!_debugDuringDeviceUpdate': 不正确。

我还尝试将 column 与一个 ListView 和其他小部件垂直使用,并引发相同的错误

【问题讨论】:

    标签: flutter listview flutter-layout flutter-web flutter-test


    【解决方案1】:

    我可以通过使用 CustomScrollView Widget 及其委托 SliverChildListDelegate() 来解决这个问题,这是我的代码解决方案的这一部分

    CustomScrollView(
          slivers: [
            SliverList(
              delegate: SliverChildListDelegate([
                Center(
                  child: Column(
                    children: [
                      Stack(
                        children: [
                          SingleChildScrollView(
                            scrollDirection: Axis.horizontal,
                            child: Row(
                              children: [
                                // height: MediaQuery.of(context).size.width,
                                Column(
                                  children: [
                                    InkWell(
                                      onTap: () {},
                                      onHover: (value) {
                                        if (value) {
                                          setState(() {
                                            assetImage =
                                                "assets/DentalChart/1.png";
                                            showHoverImage = true;
                                            hoverText = "Frontal Tooth";
                                            hoverWidth = 100;
                                            hoverHeight = 130;
                                            hoverOffset = Offset(100, 50);
                                          });
                                        } else {
                                          setState(() {
                                            showHoverImage = false;
                                          });
                                        }
                                      },
                                      child: Container(
                                        child: Image.asset(
                                          "assets/Images/1.png",
                                          height: 80,
                                          width: 60,
                                        ),
                                      ),
                                    ),
                                    SizedBox(
                                      height: 10,
                                    ),
                                    InkWell(
                                      onTap: () {},
                                      onHover: (value) {
                                        if (value) {
                                          setState(() {
                                            assetImage =
                                                "assets/images/1base.png";
                                            showHoverImage = true;
                                            hoverText = "Tooth Base";
                                            hoverWidth = 80;
                                            hoverHeight = 80;
                                            hoverOffset = Offset(100, 50);
                                          });
                                        } else {
                                          setState(() {
                                            showHoverImage = false;
                                          });
                                        }
                                      },
                                      child: Container(
                                        child: Image.asset(
                                          "assets/images/1base.png",
                                          height: 40,
                                          width: 60,
                                        ),
                                      ),
                                    ),
                                    SizedBox(
                                      height: 10,
                                    ),
                                
                                    ),
                                  ],
                                ),
    
                        ],
                      ),
                      Padding(
                        padding: const EdgeInsets.only(top: 41.0),
                        child: Text("dsjnkjdvsnkldvsnlkdsn"),
                      )
                    ],
                  ),
                ),
              ]),
            )
          ],
        ),
    

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 2018-10-26
      • 2020-11-20
      • 2021-11-23
      • 2020-04-05
      • 2021-04-21
      • 1970-01-01
      • 2020-06-19
      • 2020-08-06
      相关资源
      最近更新 更多