Poeatry 2023-12-14 20:19 采纳率: 0%
浏览 6
已结题

为什么flutter中使用ListView手机上无显示

为什么加载这段代码我手机上什么都没显示
外面包了一层sizeBox指定高度也试过了,还是什么都没有

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
      theme: ThemeData(primarySwatch: Colors.blue),
      home: Scaffold(
          appBar: AppBar(
              title: const Text(
            'Welcome!',
            style: TextStyle(
                color: Color.fromARGB(255, 70, 77, 77), fontSize: 20.0),
          )),
          body: const Column(
            children: [MyHomePage()],
          ))));
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return ListView(
      children: [
        Container(
          width: double.infinity,
          height: 200,
          color: Colors.black,
        ),
        Row(
          children: [
            Expanded(
                flex: 2,
                child: Container(
                  color: Colors.blue,
                )),
            Expanded(
                flex: 1,
                child: Column(
                  children: [
                    Expanded(
                        flex: 1,
                        child: Container(
                          color: Colors.amberAccent,
                        )),
                    Expanded(
                        flex: 1,
                        child: Container(
                          color: Colors.red,
                        ))
                  ],
                ))
          ],
        )
      ],
    );
  }
}

  • 写回答

2条回答 默认 最新

  • CyMylive. Python领域新星创作者 2023-12-18 10:03
    关注

    结合GPT给出回答如下请题主参考
    在使用Flutter的ListView时,有一些常见的问题可能导致手机上无法显示内容。下面是一些可能的原因和解决方法:

    1. 数据源为空:确保ListView的数据源不为空,否则ListView将无法显示内容。可以通过打印数据源来确认是否有数据。

    2. 没有设置ListView的高度:ListView需要设置一个固定的高度,否则它将无法在手机上正确显示。可以使用SizedBox或Container等组件来为ListView设置一个固定的高度。

    3. ListView被其他组件遮挡:确保ListView没有被其他组件遮挡住了。可以使用Stack组件来放置多个组件,确保ListView在最上层。

    4. ListView没有放置在适当的位置:确保ListView被正确放置在父组件中,并且没有被其他组件挤压或重叠。

    以下是一个示例代码,展示了如何使用ListView并设置固定的高度:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(
              title: Text('ListView Example'),
            ),
            body: Container(
              height: 200, // 设置ListView的固定高度
              child: ListView.builder(
                itemCount: 10, // 假设有10个数据项
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text('Item $index'),
                  );
                },
              ),
            ),
          ),
        );
      }
    }
    

    请确保将ListView放置在正确的位置,并且设置了适当的高度,以确保列表内容能在手机上正确显示。如果问题仍然存在,请提供更多的代码和错误信息,以便我们更好地帮助您解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月18日
  • 赞助了问题酬金15元 12月18日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 Fatal error in Process MEMORY
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统