行间分隔线
本课属于 Coddy Flutter 学习旅程的“列表和屏幕”单元。第 5 课,共 33 课。
紧挨着的行很难区分。Divider 会在列表中画一条细灰线:
ListView(
children: [
ListTile(title: Text('Wi-Fi')),
Divider(),
ListTile(title: Text('Bluetooth')),
],
)它位于两行之间,所以 4 行列表需要 3 个分隔线,最后一行后面不需要分隔线。
如果想调整 Divider 的样式,可以设置几个选项:用 thickness: 设置线条粗细,用 color: 设置颜色,用 indent: 让线条的起点离左边缘更远。
挑战
简单设置列表中只有 Wi-Fi 和 Bluetooth 之间有一条分隔线。在每两行之间添加一个 Divider,这样就会有三条分隔线,并且 Sound 后面没有分隔线。
亲手试试
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Settings')),
body: ListView(
children: const [
ListTile(leading: Icon(Icons.wifi), title: Text('Wi-Fi')),
Divider(),
ListTile(leading: Icon(Icons.bluetooth), title: Text('Bluetooth')),
ListTile(leading: Icon(Icons.battery_full), title: Text('Battery')),
ListTile(leading: Icon(Icons.volume_up), title: Text('Sound')),
],
),
),
);
}
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
列表和屏幕中的所有课
自己练习: Flutter 在线编译器