我目前正在研究如何在 Flutter 应用程序中使用 ThemeData。\n它应该适用于下面的代码,但颜色主题未按预期应用。
\n奇怪的是,使用“primarySwatch”选项而不是“primaryColor”选项按预期应用主题。
\n执行环境已Chrome开启Windows10。Android11两者都没有应用深色主题。\n此外,在真机环境和虚拟环境中结果是相同的。
import 'package:flutter/material.dart';\n\nvoid main() {\n runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return MaterialApp(\n theme: ThemeData(primaryColor: Colors.purple), // This "primaryColor" option does not working.\n home: Scaffold(\n appBar: AppBar(\n title: const Text('Test App'),\n ),\n body: Container(),\n ),\n );\n }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n下面是我的颤振环境。
\nFlutter 2.5.1 \xe2\x80\xa2 channel stable \xe2\x80\xa2 https://github.com/flutter/flutter.git\nFramework \xe2\x80\xa2 revision ffb2ecea52 (5 days ago) \xe2\x80\xa2 2021-09-17 15:26:33 -0400\nEngine \xe2\x80\xa2 revision b3af521a05\nTools \xe2\x80\xa2 Dart 2.14.2\nRun Code Online (Sandbox Code Playgroud)\n我在代码中犯了什么错误?
\n感谢您的帮助。
\n小智 13
primaryColor在最新版本的 Flutter 中,和accentColorinsideThemeData不起作用是正确的。相反,您应该colorScheme使用ThemeData.
ThemeData(colorScheme: ColorScheme(
primary: Colors.blue,
primaryVariant: Colors.red,
secondary: Colors.green,
// all fields should have a value
));
Run Code Online (Sandbox Code Playgroud)
请参阅此处的参考。
要了解为变体等选择什么值,请查看材料设计规范。
| 归档时间: |
|
| 查看次数: |
7384 次 |
| 最近记录: |