经过2天的研究,我终于得到了这个问题的答案。只需使用单子滚动视图作为父级,将滚动方向指定为水平,其子级将是一个大小框,其大小width将static因为我已经知道列表视图的宽度,并且在这个大小的框中,我们可以直接使用 ListView.Builder 和这个 ListView.Builder 的子级会很简单Row
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Container(
margin: EdgeInsets.only(left: 5, right: 5),
child: SizedBox(
width: 975,
child: ListView.builder(
itemCount: memberItemArray.length,
shrinkWrap: true,
itemBuilder: (BuildContext context, int index) {
return Row(
children: <Widget>[
scrollItem(
75,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sID),
scrollItem(
200,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sName),
scrollItem(
150,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sMobile),
scrollItem(
150,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sPlan != null &&
memberItemArray[index].sPlan !=
'null' &&
memberItemArray[index].sPlan != ''
? memberItemArray[index].sPlan
: '-'),
scrollItem(
150,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sExpDate != null &&
memberItemArray[index].sExpDate !=
'null' &&
memberItemArray[index].sExpDate !=
''
? memberItemArray[index].sExpDate
: '-'),
scrollItem(
100,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sAmount != null &&
memberItemArray[index]
.sAmount
.toString() !=
'null' &&
memberItemArray[index]
.sAmount
.toString() !=
''
? memberItemArray[index]
.sAmount
.toString()
: '-'),
scrollItem(
100,
const Color(0x00FFFFFF),
const Color(0x50000000),
memberItemArray[index].sDue != null &&
memberItemArray[index]
.sDue
.toString() !=
'null' &&
memberItemArray[index]
.sDue
.toString() !=
''
? memberItemArray[index]
.sDue
.toString()
: '-'),
],
);
}),
),
),
)