[英]How to change default back button icon in Flutter?
我将如何使用主题更改 flutter 中的后退按钮图标。 所以它可以体现在整个应用程序中。 我在主题中看到了多个选项来更改图标的大小和颜色。 但是没有看到更改图标选项。
我不确定这是否是正确的方法。 我还在学习,我不知道这是否适用于所有情况。 我在开发应用程序时使用 VS Code 完成了此操作。
我查找了后退按钮引用(Shift + Alt + F12)并在 flutter sdk 中找到了实际按钮。我在back_button.dart
文件中更改了它,该文件可以在您的 flutter 安装文件夹中找到: c:\flutter\packages\flutter\lib\src\material\back_button.dart
在那里,编辑按钮的 static IconData 方法并选择您想要用于任何平台的任何图标。
static IconData _getIconData(TargetPlatform platform) {
switch (platform) {
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
case TargetPlatform.iOS:
case TargetPlatform.macOS:
return Icons.arrow_back_ios;
}
}
在上述情况下,Icons.arrow_back_ios 将在所有平台中返回。 您可以为每个平台指定返回图标。
但是,我还没有在现实世界的“生产使用”情况下对此进行测试,所以我希望这里的其他人可以澄清一下。
例子:
Scaffold(
appBar(
leading: BackButton(), // icon depends on TargetPlattrom
),
),
或者,您可以使用自己的图标设置在IconButton
上创建自己的常量小部件,而不是将其用作leading
属性的值。 此外,还有一个AppBarTheme
class,可以在创建ThemeData
实例时使用。
https://api.flutter.dev/flutter/material/AppBarTheme-class.html
PS 如果您查看 AppBar 源代码,您会看到使用了常规小部件CloseButton
或BackButton
。 所以它没有特定的风格。 你有两种方法:
这将为您完成工作:
IconButton(
onPressed: (){
Navigator.pop(context);
},
icon:Icon(Icons.arrow_back_ios),
//replace with our own icon data.
)
对于像我这样的未来寻求者。
appBar: AppBar(
automaticallyImplyLeading: false,
leading: Builder(
builder: (BuildContext context) {
return IconButton(
icon: const Icon(Icons.alarm_on), // Put icon of your preference.
onPressed: () {
// your method (function),
},
);
},
),
title: Text(widget.title),
centerTitle: true,
上面的代码会将默认的后退图标更改为图标上的警报。 你可以把它改成任何东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.