[英]Flutter ListView and List Widget
我不知道这里到底出了什么问题。 也许有人可以帮助我。 我没有收到任何错误或其他错误消息。 手机屏幕是白色的。 可能还有另一种方法可以更好地保存和调用列表中的数据。 您可以使用这些创建一个额外的文件。 我已经尝试了一段时间,也尝试了其他东西,不幸的是没有结果。 顺便说一句,当我不使用列表单独写入数据时,它起作用了。 提前致谢。
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
List<String> comname = [
'Adidas',
'Nike',
'Google',
];
List<String> comsales = [
'200',
'300',
'400',
];
List<String> comheadquarter = [
'Berlin',
'Hamburg',
'München',
];
List<String> comemployee = [
'800',
'850',
'900',
];
@override
Widget build(BuildContext context) {
return Scaffold(.......
),
Padding(
padding: EdgeInsets.only(top: 550, bottom: 50),
child: Container(
child: ListView(
children: <Widget>[
companyCard(
comname[0],
comsales[0],
comheadquarter[0],
comemployee[0],
),
],
scrollDirection: Axis.horizontal,
),
),
),
],
),
),
);
}
}
Widget companyCard(
String name, String sales, String headquarter, String employee) {
return Stack(
children: <Widget>[
Container(
margin: EdgeInsets.symmetric(vertical: 0, horizontal: 15.0),
height: 180,
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(28.0),
color: Colors.green,
),
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.fromLTRB(8.0, 11.0, 11.0, 35.00),
child: Text(
name,
style: TextStyle(
fontSize: 25,
),
),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
'Sales:',
style: TextStyle(
fontSize: 18,
),
),
),
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
sales,
style: TextStyle(
fontSize: 18,
),
)),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
'Headquarters:',
style: TextStyle(
fontSize: 18,
),
),
),
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
headquarter,
style: TextStyle(
fontSize: 18,
),
)),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
'Employee:',
style: TextStyle(
fontSize: 18,
),
),
),
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
employee,
style: TextStyle(
fontSize: 18,
),
)),
],
),
],
),
),
],
);
}
使脚手架下的填充物更小。 也许这会将小部件呈现在页面之外。
使这个值更小
padding: EdgeInsets.only(top: 550, bottom: 50),
给出一个较小的值,例如 50
padding: EdgeInsets.only(top: 50, bottom: 50),
尝试了您的代码,必须删除额外的括号,但它可以正常工作。 正如其他人所提到的,尝试减少填充。 也许您的设备屏幕小于顶部填充,并将其推出屏幕。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.