flutter 当我在列表中添加内容时,列表视图生成器移出容器边界

mqxuamgl  于 2023-03-04  发布在  Flutter
关注(0)|答案(1)|浏览(129)
Container(
              height: MediaQuery.of(context).size.height * 0.35,
              width: MediaQuery.of(context).size.height * 0.45,
              decoration: const BoxDecoration(
                gradient: LinearGradient(
                  begin: Alignment.topLeft,
                  end: Alignment.bottomRight,
                  colors: [
                    Colors.black,
                    Colors.brown,
                  ],
                ),
                borderRadius: BorderRadius.all(Radius.circular(20)),
                boxShadow: [
                  BoxShadow(
                    color: Colors.black26,
                    blurRadius: 5.0,
                    offset: Offset(0, 2),
                  ),
                ],
              ),
              child: SingleChildScrollView(
                child: ListView.builder(
                  shrinkWrap: true,
                  physics: const NeverScrollableScrollPhysics(),
                  itemCount: _questions.length,
                  itemBuilder: (context, index) {
                    final question = _questions.keys.elementAt(index);
                    final answer = _questions.values.elementAt(index);
                    final number = index + 1;
    
                    return ListTileTheme(
                      contentPadding: const EdgeInsets.symmetric(
                          horizontal: 16.0, vertical: 8.0),
                      tileColor: Colors.grey[900],
                      dense: true,
                      shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(16.0)),
                      child: ListTile(
                        leading: Text(
                          '${number.toInt()}.',
                          style: const TextStyle(
                            color: Colors.white,
                            fontSize: 18.0,
                            fontWeight: FontWeight.bold,
                          ),
                        ),
                        title: Text(
                          question,
                          style: const TextStyle(
                            color: Colors.white,
                            fontSize: 18.0,
                            fontWeight: FontWeight.bold,
                          ),
                        ),
                        subtitle: Text(
                          answer.toString(),
                          style: const TextStyle(
                            color: Colors.white,
                            fontSize: 16.0,
                            fontWeight: FontWeight.normal,
                          ),
                        ),
                        trailing: const Icon(Icons.arrow_forward_ios_rounded,
                            color: Colors.white),
                      ),
                    );
                  },
                ),
              ),
            ),

问题是,当我添加项目到列表时,列表视图滚动,但它超出了容器的高度和宽度。我希望它保持在容器设置的限制内,这样我就可以得到一个可滚动的容器。我也尝试过改变它的物理特性,但没有效果。我也尝试过将容器 Package 在一个singlechildscrollview中。
我试过使用singlechildscrollview,也试过将shrinkwrap设置为true,但是我想我在这里做错了什么,因为每当我添加新的东西,当列表变大时,容器滚动会给列表带来一个奇怪的容器绑定显示。

7eumitmz

7eumitmz1#

您可以删除瓷砖颜色。

return ListTileTheme(
  contentPadding: const EdgeInsets.symmetric(
      horizontal: 16.0, vertical: 8.0),
  // tileColor: Colors.grey[900],

相关问题