Flutter CupertinoNavigationBar Widget使用详解
CupertinoNavigationBar Widget是一个Cupertino风格的导航栏,通常用于iOS风格的应用程序中。它与Flutter中的AppBar Widget类似,但具有不同的设计风格和行为。
CupertinoNavigationBar Widget具有以下属性:
- leading: 一个Widget类型的值,表示导航栏左侧的小部件。
- automaticallyImplyLeading: 一个bool类型的值,表示是否自动显示一个默认的返回按钮。如果设置为true并且没有指定leading参数,则会自动显示一个默认的返回按钮。
- middle: 一个Widget类型的值,表示导航栏中间的部件。
- trailing: 一个Widget类型的值,表示导航栏右侧的小部件。
- border: 一个Border类型的值,表示导航栏的边框。
- backgroundColor: 一个Color类型的值,表示导航栏的背景颜色。
- brightness: 一个Brightness类型的值,表示导航栏的亮度(亮色或暗色)。
- padding: 一个EdgeInsetsGeometry类型的值,表示导航栏的内边距。
- heroTag: 一个String类型的值,表示导航栏的英雄标签。如果使用Hero动画来过渡到另一个页面,则应为每个页面的导航栏设置不同的heroTag。
下面是一个使用CupertinoNavigationBar Widget的例子:
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: CupertinoNavigationBar(
middle: Text('My App'),
backgroundColor: Colors.white,
actionsForegroundColor: Colors.blue,
trailing: CupertinoButton(
child: Text('Settings'),
onPressed: () {
Navigator.of(context).push(
CupertinoPageRoute(builder: (context) => SettingsPage()),
);
},
),
),
body: Center(
child: Text('Hello, world!'),
),
);
}
}
在上面的例子中,我们使用了CupertinoNavigationBar Widget作为Scaffold Widget的appBar属性。我们设置了导航栏的中间部件为一个Text Widget,背景颜色为白色,右侧部件为一个CupertinoButton Widget。当用户点击按钮时,我们将路由到另一个页面(SettingsPage)。
总之,CupertinoNavigationBar Widget是一个非常有用的Cupertino风格的小部件,可以为您的iOS风格的应用程序提供美观和一致的导航栏。