,可以使用Expanded
小部件和ListView.builder
组合来实现。
Expanded
小部件可以用于将子部件扩展以填充剩余空间。ListView.builder
是一个延迟构建列表的小部件,它只会构建当前可见区域的列表项,而不会一次性构建整个列表。
下面是一个示例代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Scrollable List Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Scrollable List Example'),
),
body: Column(
children: [
Container(
height: 200, // 设置一个高度限制,以便让列表显示在剩余空间内
color: Colors.yellow,
child: Center(child: Text('Other Widgets')),
),
Expanded(
child: ListView.builder(
itemCount: 100, // 列表项数量
itemBuilder: (context, index) {
return ListTile(
title: Text('Item $index'),
);
},
),
),
],
),
),
);
}
}
在这个示例中,我们首先使用一个Container
小部件来表示其他小部件,设置了一个高度限制为200。然后使用Expanded
小部件将ListView.builder
包裹起来,以便让它填充剩余空间。在ListView.builder
的itemBuilder
回调中构建列表项,这里只是简单地创建了一个包含文本的ListTile
小部件。
这样,我们就实现了一个可滚动的列表,它会使用剩余空间,但不是小块列表中的最后一个小部件。
腾讯云相关产品推荐:Tencent Cloud Serverless Cloud Function (SCF)。SCF 是一个事件驱动的无服务器计算服务,可以实现按需计算,避免资源浪费。更多详情,请查看Tencent Cloud Serverless Cloud Function (SCF)。
领取专属 10元无门槛券
手把手带您无忧上云