无法在 Flutter 中更改 ListTile 的 "Leading Icon" 的颜色
Can't change color of a "Leading Icon" of a ListTile in Flutter
我有一个带 ListView 的抽屉,里面有 ListTiles。在每个 ListTile 中都有一个主导元素,即图标。我想从我的 ThemeData 更改 ListTiles 中所有图标的颜色。我试过了,但是它不起作用。
这是我当前的代码(仅限 class):
class _UniversalConverter extends State<UniversalConverter> {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
iconTheme: const IconThemeData(color: Colors.blue),
),
home: Scaffold(
appBar: AppBar(
title: const Text("Universal Converter"),
),
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
const DrawerHeader(
child: Text('Drawer Header'),
),
ListTile(
title: const Text('Home'),
leading: const Icon(Icons.home),
onTap: () {},
),
ListTile(
title: const Text('Angle'),
leading: const Icon(Icons.block),
onTap: () {},
),
],
),
),
));
}
}
如您所见,我有 iconTheme: const IconThemeData(color: Colors.blue),
但它什么也没做。
如有任何帮助,我们将不胜感激,
谢谢!
尝试使用 ListTileTheme
listTileTheme: ListTileThemeData(
iconColor: Colors.blue
),
或
ListTile(
title: const Text('Angle'),
leading: const Icon(Icons.block, color: Theme.of(context).iconTheme.color),
onTap: () {},
),
图标本身有一个 属性 颜色。考虑以下代码片段。
ListTile(
title: Text('Hi'),
leading: Icon(Icons.block,
color : Colors.orange,
),
onTap: () {
// To do
},
),
我有一个带 ListView 的抽屉,里面有 ListTiles。在每个 ListTile 中都有一个主导元素,即图标。我想从我的 ThemeData 更改 ListTiles 中所有图标的颜色。我试过了,但是它不起作用。
这是我当前的代码(仅限 class):
class _UniversalConverter extends State<UniversalConverter> {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
iconTheme: const IconThemeData(color: Colors.blue),
),
home: Scaffold(
appBar: AppBar(
title: const Text("Universal Converter"),
),
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
const DrawerHeader(
child: Text('Drawer Header'),
),
ListTile(
title: const Text('Home'),
leading: const Icon(Icons.home),
onTap: () {},
),
ListTile(
title: const Text('Angle'),
leading: const Icon(Icons.block),
onTap: () {},
),
],
),
),
));
}
}
如您所见,我有 iconTheme: const IconThemeData(color: Colors.blue),
但它什么也没做。
如有任何帮助,我们将不胜感激, 谢谢!
尝试使用 ListTileTheme
listTileTheme: ListTileThemeData(
iconColor: Colors.blue
),
或
ListTile(
title: const Text('Angle'),
leading: const Icon(Icons.block, color: Theme.of(context).iconTheme.color),
onTap: () {},
),
图标本身有一个 属性 颜色。考虑以下代码片段。
ListTile(
title: Text('Hi'),
leading: Icon(Icons.block,
color : Colors.orange,
),
onTap: () {
// To do
}, ),