Flutter中AppBarTheme的textTheme属性已弃用,应使用何种替代方案?
替代已弃用的AppBarTheme.textTheme属性的方案
在Flutter新版本中,AppBarTheme.textTheme已被弃用,你可以使用**titleTextStyle和toolbarTextStyle**这两个更细分的属性来替代,分别控制AppBar标题和工具栏内其他文本的样式。
针对你的代码,原来通过textTheme.copyWith(headline6: ...)设置的是AppBar标题样式,对应替换为titleTextStyle即可,修改后的完整代码如下:
class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Personal Expenses', theme: ThemeData( primarySwatch: Colors.purple, accentColor: Colors.amber, fontFamily: 'Quicksand', appBarTheme: AppBarTheme( // 替换原textTheme,设置AppBar标题样式 titleTextStyle: TextStyle( fontFamily: 'OpenSans', fontSize: 20, // 建议显式设置颜色,避免继承默认样式时出现颜色适配问题 color: Colors.white, ), // 如果需要设置工具栏内其他文本(如返回按钮旁文字)的样式,可添加以下属性 // toolbarTextStyle: TextStyle( // fontFamily: 'OpenSans', // fontSize: 16, // color: Colors.white, // ), ), ), home: MyHomePage(), ); } }
补充说明
titleTextStyle:对应旧版textTheme.headline6,专门负责AppBar主标题的样式toolbarTextStyle:对应旧版textTheme.bodyText2,负责工具栏内辅助文本(如操作按钮文字、返回提示文字等)的样式
内容的提问来源于stack exchange,提问作者Mikelenjilo
相关产品推荐
相关产品推荐

