我是 Flutter 新手,有一个通用的 appBar,与 main.dart 分离,所以我可以在每个屏幕上使用它。这里是带有 appBar 的 dart 文件。
import 'package:flutter/material.dart';
import 'package:voota/utils/Hex2Color.dart';
import 'package:intl/intl.dart';
class BaseAppBar extends StatelessWidget implements PreferredSizeWidget {
final Color bgColor = HexToColor('#508bbb');
final String title;
final AppBar appBar;
final List<Widget> widgets;
BaseAppBar({Key key, this.title, this.appBar, this.widgets})
: super(key: key);
@override
Widget build(BuildContext context) {
DateTime now = DateTime.now();
String formattedDate = DateFormat('MMMM d, y').format(now);
return AppBar(
title: RichText(
text: TextSpan(
text: 'VOOTA ' + title,
style: TextStyle(
fontSize: 15.0,
color: Colors.white,
),
children: [
TextSpan(text: '\n'),
TextSpan(
text: formattedDate,
style: TextStyle(
fontSize: 10.0,
color: Colors.white,
),
),
]),
textAlign: TextAlign.center,
),
centerTitle: true,
backgroundColor: bgColor,
elevation: 0,
//actions: widgets,
);
}
@override
Size get preferredSize => new Size.fromHeight(appBar.preferredSize.height);
}
我简单地导入了定义 appBar 的 dart 文件,因此在每个屏幕上我都有相同的 appBar,例如:
Widget build(BuildContext context) {
return Scaffold(
appBar: BaseAppBar(title: title, appBar: AppBar()),
....
现在我需要一些屏幕上的操作按钮(溢出下拉菜单)。但动作因屏幕而异。我该如何定义?在一个屏幕上,选择菜单中只有一个刷新,而在另一个屏幕上,则刷新和注销并激活具有不同路线的选项。在仪表板上根本没有任何动作......谢谢任何帮助、建议或链接;)