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风格的应用程序提供美观和一致的导航栏。

powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:36:59

results matching ""

    No results matching ""