//store the current Theme to restore it later
final ThemeData defaultTheme = Theme.of(context);
Theme(
//Inherit the current Theme and override only the accentColor property
data: Theme.of(context).copyWith(
accentColor: Colors.yellow
),
child: ListView.builder(
//suppose data it's an array of strings
itemBuilder: (BuildContext context, int index) =>
EntryItem(data[index], defaultTheme),
itemCount: data.length,
),
);
//this is your class to render rows
class EntryItem extends StatelessWidget {
const EntryItem(this.entry, this.defaultTheme);
final String entry;
final ThemeData defaultTheme;
Widget _buildTiles(String entry) {
return Theme(
data: defaultTheme,
child: Text(entry)
);
}
@override
Widget build(BuildContext context) {
return _buildTiles(entry);
}
}
Theme(
data: Theme.of(context).copyWith(
// accentColor: Color(0xff936c3b), // Previously it was implemented like this
colorScheme: ColorScheme.fromSwatch(
accentColor: Color(0xff936c3b), // but now it should be declared like this
),
),
这个建构函式会设定secondary属性,如下所示:
final Color secondary = accentColor ?? (isDark ? Colors.tealAccent[200]! : primarySwatch);
9条答案
按热度按时间nzkunb0c1#
在这里阅读GlowingOverscrollIndicator似乎可以改变
ThemeData.accentColor
的值来改变过卷发光颜色。您可以尝试使用类似的方法将
Theme
更改限制为仅ListView
你可以在这里阅读更多关于如何设计你的
Theme
7ivaypg92#
另一个不使用主题的选项可以是:
1-将ListView Package 在
GlowingOverscrollIndicator
中2-使用新的滚动行为将您的
GlowingOverscrollIndicator
Package 在ScrollConfiguration中这里有:
1hdlvixo3#
之前的回答表明
ThemeData.accentColor
从Flutter 2.2开始不起作用滚动条发光效果的颜色现在在
ThemeData.colorScheme.secondary
属性(docs)中定义。设置它的最简单方法如下:这个建构函式会设定
secondary
属性,如下所示:因此,如果代码中使用了灯光主题,则也可以通过设置
ThemeData.colorScheme.primarySwatch
来更改泛光效果颜色。dm7nw8vv4#
只需将其添加到
main.dart
中的MaterialApp小部件0g0grzrc5#
您应该在新版本的flutter中的
MaterialApp
小部件中使用此代码。(Flutter 2)pxiryf3j6#
如果将ThemeData与colorScheme一起使用,则值“secondary”会影响光晕颜色。
主题数据(颜色方案:色彩配置([...]次要:Colors.red、[...])、);
zd287kbt7#
下面是一个小部件,用于更改后代小部件的Overscroll-Color(在本例中为
ListView
):用法应为:
a9wyjsp78#
“accentColor”已弃用,不应使用。请改用colorScheme.secondary。有关详细信息,请参阅www.example.com上的迁移指南https://flutter.dev/docs/release/breaking-changes/theme-data-accent-properties#migration-guide。此功能在v2.3.0-0.1.pre之后已弃用。
将您的代码替换为
对此
2izufjch9#
您还可以在MaterialApp主题中使用此功能